链接:https://www.nowcoder.com/discuss/41837?type=2&order=0&pos=6&page=1
引
把自己找实习时的面试经历发出来供大家参考一下,希望可以帮到有需要的人,我自己也攒攒人品~
我主要面的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.
网友评论