百度三面(iOS实习岗位)

百度三面

过年放假下学期没啥事情不用去学校啦,想着找找实习机缘巧合下获得了百度的面试机会这里分享下经验(面的百度凤巢部门iOS开发岗位)

一面

一面的面试官好像不是个iOS(他用的电脑不是Mac)所以他问的问题大部分都属于在学校学习的部分我以为面试完就和小伙伴玩耍去了所以问题有些忘了但是尽量回忆(�本来是在一面二面三面的切换的时间记下来了但面试结束他把我的纸拿走了我又不要意思要回来。。。)

一面问题:

  • 自我介绍(这就是有啥说啥呗)
  • 讲下关于自己做的项目(我说了一个在学校和老师合作的物联网项目)

面试这些问题大家都懂的都必须要说的

  • 讲下关于HTTP/UDP/TCP 的区别
  • 讲下关于socket和http的区别(因为项目用到了socket)

这里问的主要是关于网络相关的因为好久没有看过其实答得并不是很好

  • 说下关于线程和进程

操作系统部分的

  • 谈些平时用的设计模式(我说了下MVC然后又简单提了下MVVM)

设计模式

  • 写一下怎么实现一个工厂类(工厂模式)说实话我还真不知道怎么去表达这个工厂模式 我问了下怎么表示用iOS么(我觉得他不是iOS我故意的想趁机多想想)结果面试官说句伪类就OK(然后我就用的语言的伪类表达了下。。。我觉的自己那个写的有点不明白还特意跟他解释了下)
  • 写下用链表实现栈 实现push pop方法

这是手写的部分

  • 说下Delegate和Block的区别(iOS)

估计大哥感觉我以为他不是iOS所以问了一个这个,我就简单说了下说着说着我觉得他不是iOS就多说了好几句想着他也不太清楚(好害怕。。。抖机灵了)

写完这些差不多时间过去了快40分钟左右(期间可能还有些问题但是真的想不起来了,但是大概都是学校学的不难都有回答出来)完后一面就结束了老哥说去找下二面看看二面有时间么和我聊下,然后我就在那坐着等着。总的一面还算OK我自己觉得学校的知识扎实点应该没啥问题,而且面试官很温柔就是说话有点声音下俺都有点听不清。。。

顺便观察了下百度大厦内部~ 面试是在百度科技园的2号楼 总的来说概括就是大气,干净。地板泛着光,而且整个大楼的采光不错很亮堂,我们在一楼的休息区面的旁边还有可能是小组再开讨论会之类的大家又说有笑感觉挺不错的整体的氛围。

二面

等了5分钟左右吧二面小哥来了,小哥哥上来就说我是咱们组的iOS。。。。(严重怀疑我抖机灵被发现了)

用iOS实现单例模式(实锤肯定是一面告状了) 这个有点记得不是很清楚了就说出来了涉及到GCD还有重写copy方法之类的
Delegate和block的区别 平时怎么使用的 各有什么优缺点
写下声明一个NSString和block
为什么NSString用copy 如果不用strong会怎么样 NSArray用是什么修饰
NSMutableString用什么修饰 如果用copy会用问题么
block为什么用copy
block循环引用的原因 解决
堆栈的概念(这应该是问到block会拷贝到堆区所以才问了下)
block的原理(这里我说的不太清楚 面试官又给我讲了下)
平时用的常用的三方库有啥 我说的AFN和SD
说下AFN的原理和总体的架构
SD的整体思路
多线程的使用 什么场景下使用子线程
锁的相关概念
GCD的原理和操作
因为简历写了关于视频的部分所以问了下关于视频但是我们视频那个用的是FFmpeg所以我就简单说了下
长链接的应用
是否用过原生于web交互
数据结构图的概念和操作
二叉搜索树和平衡二叉树的概念
调平二叉平衡树
写下树的先序遍历的递归非递归

完后我还想给面试官看下我的作品,面试官说时间差不多了(这一面差不多过了1个小时左右)我当时听他说时间差不多了,慌了以为凉了,他说让我等下去和三面商量下如果没有三面会把我送出去。

哎 当时有点紧张了因为这一面的东西有的我记得不是清楚像第一个问题的单例我就没写出来,而且回答AFN和网络请求那个部分的有些问题说的太泛了(不具体没说到点上)反思就是自己的项目没有及时的去复习里面学到的东西,而且对于有些知识点的掌握停留在了解的地步还不够深入。
但二面小哥还是很好的整体的面试过程想是在讨论问题。

三面

过了一会有人叫我我以为是二面的小哥要送我上路我一回头发现不是一个人。。。我心里笑开花了看来还有机会啊。三面的话没有问什么具体的问题。看来看我的作品问了问简单是实现,三面应该是iOS这边的组长之类的,我简单一说他就说。。哦 知道了。 我当时还以为他想快点吧我糊弄走呢。。。后来多聊几句发现这是他的口头禅。很好交流的面试官,简单问我几个问题之后,给我介绍了他们部门,然后就让我走了,还问了问关于生活的小问题,说整体感觉不错。然后就让我等通知了。

总结

面试没问什么很难的问题,但是都很基础,很考验自己写的能力,代码都是手写的。要把知识学扎实,尤其是小的细节问题,这是我一直在学校就感觉自己做的不好的地方,以后要更加的注意遇到问题多想想原因。最后我觉得我能收到面试通过的消息得力于我那个几个算法写的还不错,所以要把算法提起来,多翻翻书。

ps:因为面试完刚好到了小伙伴那边就想着找他待会,晚上又聊了好多睡得比较晚,今天回家歇会就赶快把题目上来,但是还是忘记了些细节,我会继续努力回忆把细节再补一补,答案也在这周会补全

你可能感兴趣的:(百度三面(iOS实习岗位))