ITPub博客

首页 > 移动开发 > IOS > 落魄实习生的iOS字节百度面经

落魄实习生的iOS字节百度面经

原创 IOS 作者:iOS面试简历专员 时间:2020-05-09 13:53:37 0 删除 编辑

按时间顺序面过这些公司,阿里cbu,人人车,飞猪,蘑菇街,趣头条,网易,百度,美团,京东,字节,收到了满意的offer,跟大家分享一下面经~

字节头条部门

一面(全程iOS)

  • 直接问项目 oc方法调用流程,消息传递以及消息转发流程,动态方法解析,备用接收者,消息转发各个阶段详细问 ,是否会与jspatch冲突.
  • oc 这个类的实例对象占几个字节
`@interface` `TestObject : NSObject``@property` `(nonatomic, assign)` `float` `num;``@end``@implementation` `TestObject``@end`
  • AutoreleasePool的原理和实现,双向链表...下面哪个跟AutoreleasePool有关系
`+[UIImage imageWithNamed:]`
`+[NSArray arrayWithObjects:];`
`[[NSObject alloc] init];`
  • NSTimer GCDtimer
  • NSTimer对象引用关系,循环引用,如何解决,中间类NSProxy,消息转发
  • 最后是一个设计题,问的很详细,讨论了20分钟,设计一个倒计时功能tableview有100条cell,每个cell展示一个倒计时60->0秒, label展示剩余时间,每秒更新一次,为0时停止更新

二面

  • 为什么学iOS
  • 介绍一下项目
  • 如何进行系统崩溃拦截
  • 类簇问题,什么时候用类簇,我讲了类簇是抽象工厂模式
  • 什么是抽象工厂模式,为什么用抽象工厂模式,其他设计模式,实现单例模式,单例是否一直存在,如何销毁
  • 观察者模式,如何替代观察者模式
    算法题:一个至多包含 3 种元素的数组,要求一次遍历完成排序,不申请额外的存储空间

百度

一面

  • 算法题:二分查找元素第一次出现的位置,很快写完了,面试官又让优化了一下
  • 算法题:选择排序,很快写完了
  • AutoreleasePool的原理和实现 MRC下需要注意什么
  • 属性修饰符 assign weak 区别,strong,copy
  • tableview cell复用,复用池底层结构,猜的是哈希表,面试官说是二级的哈希表,我想到了关联对象的底层结构也是二级哈希表,说了一下
  • category和extension的区别 讲了挺多,面试官说可以了

二面

二面是个女安卓面试官,基本全程都是我在讲(感觉女面试官还是比较好对付)

  • 算法题 非递归实现快排
  • 除了oc 还会什么语言,我说会点c、c++,她问了几个问题,我回答不是很好
  • 操作系统相关,进程调度,进程通信
  • 讲一下设计模式,我讲了半天,又提了一下SDWebimage的设计模式
  • 讲一下看过的源码,讲了挺长时间SDWebimage

三面

得知二面过了以后,我以为三面是聊天,十分放松,后来看到三面的面试官,就知道有点不对劲,结果被一顿虐

  • 长连接相关,我说http复用tcp..,他说只是理想情况下,实际不行,我说了心跳检测+自动重连,面试官问如何实现心跳检测,面试官也不太满意
  • 发网络请求时如何验证证书,我说我一般用AFN,不太了解,面试官不满意(凉)
  • 数据结构,如何解决哈希冲突
  • 字典的底层数据结构
  • 哪些底层结构是树实现的
    还有一些问题忘记了

推荐👇:

如果你想一起进阶,不妨添加一下交流群 1012951431

面试题资料或者相关学习资料都在群文件中 进群即可下载!


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69971523/viewspace-2690904/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-04-16

  • 博文量
    29
  • 访问量
    49497