iOS开发&测试开发 多家公司实习面经整理

把自己找实习时的面试经历发出来供大家参考一下,希望可以帮到有需要的人,我自己也攒攒人品~

我主要面的iOS开发岗,阴差阳错也面了一些测试开发岗,不过这个经历倒是让我对测试开发大有改观,闲话少说,直接看记录的面试问题吧:


网易有道云笔记(日常实习):

一面:

自我介绍一下;
介绍一下自己做过的项目,找一个最熟悉的详细介绍;
讨论介绍的项目中的一些东西;
你用过Masonry做界面布局吗?
说说单例的几种创建方式;
你了解runtime吗?
你做够iPad的开发没?
说说unsafe_retain和weak的区别;
说说assign和weak的区别;
如果将xib的控件用strong修饰会怎么样?
了解Core Data吗?
用过本地存储没?
用过cocoaPods没?
会用git吗?
你做过内存优化没?

说说block、delegate、notification的区别;

知道get和post区别吗?

如果你要将一个大文件进行拷贝,你能想到哪些可能存在的问题?(拷贝中编辑文件、拷贝太久影响主界面、显示进度、拷贝时应用切到后台、拷贝时应用被系统杀死)

针对这些问题你如何解决?

你有什么想了解的吗?

还有开头的一些问题没记下来忘了,面试中出现过一些面试官思考问题的空白期,没有保持一个持续和谐的聊天。

二面

自我介绍一下;

介绍一下你做的最有趣的项目;

block中weakSelf的作用;

循环引用是什么?

什么叫释放——iOS中的内存管理;

weak是什么意思;

为什么有时候block中又要用strongSelf?

@property的概念;

category的用处,怎么在category中增加属性?

@synthesize用来干嘛的;

__block用来干嘛的;

atomic和nonatomic的区别;

atomic是完全线程安全的吗?

线程安全还有什么别的方式?

load和initialize的区别;

UIView和CALayer的区别和联系;

更高性能的加圆角的方式(coenre会有性能问题)

loadView是什么;

viewWillLayoutSubViews是什么?

GCD有几种分类;

GET和POST的区别;

HTTPS怎么加密的;

发布app后有bug怎么处理?

热修复(比如JSPatch)的原理;

为什么OC中要用方括号?

OC中方法的调用过程;

java中ArrayList和LinkList的区别,增删改查的复杂度;

java中HashMap和TreeMap的比较;

runloop是什么?有哪些模式?

怎么给应用做一个密码锁?(UIWindow)

TableView的cell不同高度时的性能调优。

结果

被一个大神拿走了名额,心服口服


360搜索(日常实习):

一面:

copy和strong的区别?

Notification和Delegate的区别?

分类的作用?可以加属性和方法吗?

__block的作用?

如何约束ViewB的宽度等于ViewA的1/4?

如何动画将一个视图的圆角修改为2?

这样的一个Timer在UIScrollView滚动的时候会有什么问题, 原因是什么?
self.animationTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(animationTimerDidFired:) userInfo:nil repeats:YES];

这份代码会有什么问题?

其他的不记得了。

一面面的非常快,视频面试,只有12分钟,也没有要求手写代码,只顾问问题,不会告诉你对不对,也不会跟你讨论,问完一个接着下一个。要连续面试很多人想来也是蛮累的。

二面

一面完了正准备收拾东西立马就开始了二面,也是视频面。

自我介绍。

介绍项目,根据项目里你说到的东西引申开去谈。包括苹果的推送细节;HTTPS,与HTTP的区别,连接过程;项目中遇到的困难和印象深刻的点。

对iOS开发中熟悉和感兴趣的点,比如UI、网络、多线程等。

对UI和动画感兴趣的话有没有什么实践,能不能演示。

打开iPhone的日历app,要求讲解选择日期后的动画。

frame和bounds的区别。(自己刚调研了写过一篇博客,就讲了一遍)

UITableView的优化?

SDWebImage的实现思路。image的key应该存什么?如果key很长,如何加快在缓存中找到key的过程。

如何比较两个字符串的内容是否一致?

解释深拷贝和浅拷贝。

手写代码:给出一个UIview,打印其所有下属各个层级的子view。(递归、队列)

这次就有手写代码了,不过还好。一面二面都是单纯地面iOS开发的知识,二面面试官感觉比较老成,而且是随着聊天的方向来抛出问题,很有意思。当然也有准备一些问题,会不断地深入问进去,从而出现一些算法方面的考量,并且引导你去思考,考官很耐心。感觉第二面虽然也有没答上来的,但过程还是很舒服的。

HR面

不得不说360的效率还是很棒的,而且HR也很好。

HR面就很简单的聊了聊,关于毕业前这段时间的规划,职业规划,想去哪个城市,对于平台、薪资、户口之间重要性的选择,有没有同学、朋友在那边,能实习到什么时候,有没有什么问题要问的。

总的来说360的面试过程给人的感觉一直挺好,要是这几个月能去实习就好了。。。

结果

拿到了offer,很赞。

360暑期实习招聘

由于之前面过,所以面试官在视频看我一眼就结束了说以前面过了直接等结果,确实就是之前的一面面试官。

等了一个礼拜之后收到邮件,是待定,看来即使前面日常实习考评过了,暑期实习也不好说,毕竟竞争者更多,所以有机会能实习的平常最好实习,要求会低一些,也方便自己成长。

HR又回过头来问我还在不在找实习,应该是顺延到我了吧,还是没去。


阿里暑期实习内推

一面:

介绍一下你比较熟悉的项目,用过什么技术;

知不知道什么设计模式?

MVVM和MVC有什么区别?

商城界面会有很多内容,你做过什么优化?

reusedID是怎么作用的?

安全方面有什么措施?

HTTPS原理,是绝对安全吗?

HTTPS认证方式;

除了keychain还能用什么来安全保存内容?

你对什么方面有过深入的了解?

做过什么动画没?

研究过什么高级动画?

最近看过什么技术?

runtime的原理是什么?

你认为自己有什么优势?

一面

估计上个一面面的不好,给转到测试开发去了,正式开始一面。

对测试感不感兴趣;

自我介绍;

介绍项目最难的地方;

讲讲项目里单例的实现;

讲讲多线程的种类和区别;

项目里有没有做过测试;

以后的职业规划;

聊聊最近看的书和兴趣爱好、思考;

二面

上午一面完,下午就二面了,感觉确实是一个老大面的(后来问到是P9)。

自我介绍;

介绍项目;

学习经历;

对测试有没有过了解;

专业课程和自学内容;

意向工作城市;

有没有女朋友;

家是哪的;

你有什么问题要问的?

三面(交叉面)

介绍一下你的项目;

遇到过什么困难;

怎么解决多并发;

解决过什么性能问题;

做过下拉刷新的优化没;

你的方向明确是客户端么;

之前的项目做过一些测试没;

怎么看待测试开发;

你以后想怎么发展;

平时怎么解决问题和学习的;

你的项目crash率是多少;

你的app日活是多少;

你实习想获得什么,有什么计划么;

你写博客是为了什么;

HR面

介绍下你的项目和担任的角色、遇到的困难;

你的事情很多的时候怎么安排、分优先级?

你的github上都提交了一些什么?介绍一下。

你有什么兴趣爱好?

你觉得程序员应该培养什么兴趣爱好?

你的未来规划?

你的实习时间?

收到offer邮件

如HR所说到了4月底才会出结果,这一次发了一批offer,正好在要开始校招笔试前几天,就可以不用笔试了,没收到的估计是还要继续参加笔试吧。


腾讯暑期实习内推

一面

内推了近一个月终于迎来了第一次面试机会,内推都要结束了T T,虽然觉得机会已经不太大了但是能有面试机会沟通一下也是极好的。

面试官上来就直接要我介绍最熟悉最难的项目和困难的点,选择了不说项目而说了最近实现的一个比较麻烦的导航栏效果,面试官跟我讨论了一下,问了下怎么测试的,要注意会不会跟别的Controller带来问题。

接着提出准备的题目,没有任何细节题目,直接给了一个最简单的场景,却引出了非常多的问题探讨:现在你要实现一个简单的tableview,每行只有一张下载的图片,你要怎么做,用什么架构和方法,来达到最好的效果,最方便扩展,最优化。总之就是把你能想到的都说一下。说了下MVC,cell重用,图片圆角优化,多线程下载图片,图片缓存机制等。从图片缓存机制里引导出怎么自己用HTTP来获取图片,如果在下载过程中用户滑到了别的行,怎么处理,怎么用HTTP断点续传,如果下载的图片你还要处理一遍,比较耗时而且是单线程处理的,在处理时用户滑到了别的行,怎么处理,几种多线程实现方式的区别,能不能暂停任务。

出一道口头的笔试题,写一个函数来做内存拷贝,参数有目的地址指针、源地址指针、要拷贝的大小,拷贝成功返回目的地址指针,失败返回null。考察对参数的有效性检查、对目的地地址能否拷贝的检查、两个地址间距离的检查等,对于拷贝过程的考虑不做太多要求,只是加分项。面试官说看我博客做了很多算法题,所以没问我算法...

问有什么问题要问的,问了下部门,是微信事业群的邮箱部门,面试官之前做嵌入式系统的,现在做iOS,问了下对iOS发展的看法,收获颇丰,给我讲了该学习什么,要跳出业务来,更多的了解更深层次的东西,自身才能更好地发展下去,说他们正在做机器学习,想应用到手机上(高大上啊…)

面的怎么样不好说,但是确实收获良多,面试官很厉害,听起来很年轻的声音但是已经做了很多东西了,对技术也很有自己的见解,感觉是个很好的leader。

然后结果是挂了。。。

一面

突然又收到腾讯的面试电话,深圳的,MIG。

自我介绍和项目介绍。

遇到了什么难点?

Runtime和类别是什么时候学的?

方法调用的过程?

消息怎么转发的?

怎么实现断点续传?

iOS沙盒有哪些目录?

多线程同步访问同一个资源的问题?

iOS中有哪些锁的类?

信号量是什么?

了解哪些设计模式?

delegate和通知有什么区别?怎么实现delegate一对多通信?

TCP了不了解?

要你设计一个HTTP协议,你怎么设计?

家里是哪的?

二面

是QQ视频面,不过只有面试官能看到我,我看不到面试官

自我介绍;

项目介绍;

有挑战性的项目;

苹果消息推送的过程;

新的消息推送支持图片,是怎么实现的?

怎么了解新的系统特性的?

怎么学习iOS?

了解什么设计模式?

工厂模式是什么?有什么优势?

学过哪些计算机类的课程?

平衡二叉树是什么?

B树、B+树是什么?

动态规划是什么?

哪里人?

实习时间?

感觉面的很一般,虽然也面了半小时,不过感觉面试官没有问什么特别具体的技术问题,都是比较宏观的,而且对算法还是有要求的,最后说可能会让一面面试官再给我做一套笔试题试试,可能还是不放心我的算法能力吧。所有面试官都会问你是哪人啊。

HR面

一个男HR,确实声音还是很温柔啊。

自我介绍;

之前的实习经历;

为什么选择iOS开发;

除了技术你还有没有担当过别的角色?

你觉得产品需要有哪些素质?

你觉得应该如何沟通?

你的性格是什么样的?

女朋友在哪?

你跟导师沟通过实习的事情了吗?

你有什么想问的?问了问部门产品的现况。

结果

拿到实习offer


美团暑期实习内推

一面

为什么选择iOS开发;

实验室做的项目?

并行与并发的区别?

用哪些多线程方法?

GCD有哪些方法?

NSOperation用过没?

HTTP从发起请求到返回的过程?

TCP下还有哪些协议都在什么层?

assign和weak区别?

熟悉什么设计模式?

***模式做回调还有哪些方法,有什么区别?

单例模式怎么实现?

dispatch_once原理?

各种类型变量、对象存储在哪些区。

runtime做了哪些实现?

方法的调用过程?类方法的调用过程?

算法题:怎么找单链表的中点?

怎么遍历所有子视图?

做需求是什么流程?

怎么学习新技术?

怎么选择翻译的资料的?会不会分享给同学?

成绩如何?

有哪些兴趣爱好balabala

美团技术面一共两面,面的部门是平台部,做美团App的。

二面

为什么选择iOS开发?

认为iOS开发和Android开发有什么共同点和区别?

使用OC还是swift?

OC和swift有什么区别?

为什么苹果要推swift?

为什么要刷leetcode?

排序方式中时间复杂度On平方的有哪些?更快的呢?(nlogn)。还有没有更快的?

研究生剩下的一年和工作后有什么计划?

实习时间能有多长?

对去北京有没有什么问题?

面试官是美团app的iOS负责人,好像还是挺大的官,部门负责美团app的整个生命周期和组件以及基础业务,二面问的确实很宏观,基本没有具体的技术点问题,也感觉不出什么情绪上的波动,最后问了一些部门的工作、实习生入职后的培养方面的问题,看情况吧。

收到offer邮件

面完二面后很快收到HR一个电话说面试官想再加一面,问我能不能去北京面,我说不太方便,问能不能视频或者电话面,HR说问问第二天告诉我情况。结果到了一个礼拜也没消息,于是主动问二面面试官(二面面试官面试前主动加了我微信商量面试时间,所以争取到面试官的联系方式很重要,方便了解情况),二面面试官很快回复说不用再面了,帮我去问HR联系我,很快就接到了HR的电话说没问题了(也就是直接没有HR面,因祸得福么),了解了一下我是否愿意去北京,能实习多久,因为他们一般要求三个月,我只能两个月不太好说,说她会帮我跟校招组申请一下(这说明她只是部门HR,流程上还要校招组通过),说有问题可以直接打她的座机,可以接通。这样又等了一个礼拜没有消息,于是主动打电话过去问HR,她说我已经被审批通过了,但是她们是每周二向校招组报一批人,我的今天刚报上去,大概今明两天就会收到offer邮件了,等到了第三天我就收到了,很开心。


头条暑期实习

无内推,笔试过

头条的面试是视频面,笔试过后会发邮件选择面试时间,在牛客网的视频面试网站进行面试,有写代码给面试官看的地方。面试过程中也都让我写过算法题。

头条很有效率,一面后十几分钟立马电话通知二面,二面后十几分钟立马通知结果——挂了。。。

一面

自我介绍;

对delegate的理解;

平常用绝对布局还是相对布局?相对是指auto layout;

什么时候会用到layoutsubview?

tableview优化?

cell重用机制是怎样的?

viewController的生命周期?

A界面进入B界面时生命周期的顺序;

JS与OC怎么交互的?

webview和OC的交互?

RN的交互过程?

HTTP的理解;

设计一个HTTP请求的工具类;

怎么创建单例?

知道OC中哪些锁?

用过JsonModel没?

数组、链表、哈希表、二叉树的优缺点和区别;

写一个算法来寻找两个字符串的最长公共子串。

二面

做个算法题,将十进制转换成十六进制,需要完整的输入输出。

介绍项目;

viewController的生命周期?

dealloc做了什么?

property有哪些修饰的内容?

assign和weak的区别?

assign和unsafe...的区别?

copy和mutablecopy的区别?

写一个比较两个对象是否相等的方法,需要比较哪些东西?

block属性用什么修饰?

block的存储位置?

autolayout的约束方式?

swift的缺点?

你怎么实现一个操作引导界面,满足不出现覆盖、按顺序出现、可配置?

读过源码没?

AFNetworking的原理?

怎么处理网络劫持问题?有哪些劫持情况,分别怎么应对?

长连接是怎么做的?

……

还有一些题目不记得了,两场面试连着来确实不容易记住。二面很多题目没答好,所以也基本预期到自己挂了,没太多悲伤的情绪,面的过程中就觉得不是很顺,到了二面依然问很详细的技术点,主要是问的经常是我没怎么接触过的点,可能确实和头条没多少缘分,只能笑着安慰自己。


网易游戏

测试开发暑期实习

一面

第一次约的时间给忘了,好在后来还是面上了。

自我介绍(提到了梦幻西游,问我多少级);

开发过的项目;

印象最深刻的项目;

你们项目中怎么测试的,有没有测试文档;

测试了哪些设备和版本;

怎么给客户安装的?知不知道不发布到app store怎么安装?

你会哪些语言?

是课程上学的吗?

会不会脚本语言如python?

你做过其他什么web项目?

你的研究生课题是什么?

算法题:找出长字符串中最长的不重复字符的子串;

逻辑题:老奶奶拿着4斤和5斤的桶如何买到2斤牛奶?

你生活上遇到过什么挫折?

了解测试开发岗位吗?

你拿到了哪些offer?

你怎么考虑这些offer的?

你有什么问题?

经过了解,他们做的是测试工具的开发工作,涉及到全平台,而不是简单的测试,而实习生在两个月期间可能是给出一个小测试工具的开发任务。

二面

自我介绍;

做过的项目;

发布到app store的过程;

审核中遇到了什么问题?

平常遇到了什么问题,怎么处理的?举例说明;

1~100的数组其中有一个数字改成-1,找到这个数字;

一盒糖一盒盐,挖一勺糖到盐盒中,搅拌,然后挖一勺混合物到糖盒,盐盒里的糖和糖盒里的盐哪个多?

手写算法:n个数字全排列输出;

之前面试走到哪一步了?

你玩过什么游戏?游戏中的特点?

岗位调剂之前是什么职业规划,调剂之后是什么规划。

感觉面试官在很慎重地考虑我是否适合这个岗位。

结果

拿到offer


以上就是找实习的所有经历了,总的来说还是要准备充分,在准备的过程中,临时抱佛脚也好,认真学习也好,那段时间确实学到了很多东西,算法题也是很早就开始练了,所以没有拖后腿。这是找实习的面经,发的有点晚了,最终选择了去腾讯实习,实习的经历还是很开心的,现在又要找工作了,发出来供大家参考,也攒攒人品,哈哈哈。

回过头来看发现自己真的面了很多家公司,其实蛮累的,也是为了积累经验呐,希望大家都可以去到自己喜欢的公司,一起加油~

one more thing.

壮哉我大iOS!

#阿里巴巴##腾讯##网易##360公司##美团##字节跳动##iOS工程师#
全部评论
大神啊大神
点赞 回复
分享
发布于 2017-09-14 23:54
给大佬递茶
点赞 回复
分享
发布于 2017-09-14 23:56
阿里巴巴
校招火热招聘中
官网直投
大佬啊大佬
点赞 回复
分享
发布于 2017-09-15 00:15
真大佬
点赞 回复
分享
发布于 2017-09-15 00:22
不错,学习了
点赞 回复
分享
发布于 2017-09-15 00:24
给大佬递茶
点赞 回复
分享
发布于 2017-09-15 01:06
-
点赞 回复
分享
发布于 2017-09-15 07:23
大佬大佬
点赞 回复
分享
发布于 2017-09-15 11:54
校友,我和你差不多,android客户端开发,现在在纠结做一线大厂侧开还是二线开发,有什么建议么?已经私聊你了~~望回复~
点赞 回复
分享
发布于 2017-10-24 20:16
给大佬上茶
点赞 回复
分享
发布于 2018-02-26 16:45
没有实习经历怎么办
点赞 回复
分享
发布于 2020-01-27 16:10

相关推荐

8 119 评论
分享
牛客网
牛客企业服务