落魄iOS实习生面经

到今天为止春招所有的面试全都面完了,按时间顺序面过这些公司,阿里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,不太了解,面试官不满意(凉)
  • 数据结构,如何解决哈希冲突
  • 字典的底层数据结构
  • 哪些底层结构是树实现的
    还有一些问题忘记了
#百度##iOS工程师##实习##面经##京东##趣头条#
全部评论
#iOS面经# #实习面经# #百度iOS面经# #趣头条iOS面经# #京东iOS面经# 👈点击话题查看更多同类面经干货!每日面经精选,为你发掘牛客干货!
点赞 回复 分享
发布于 2020-05-08 10:42
恭喜恭喜
点赞 回复 分享
发布于 2020-05-07 23:38
大佬会写就多写一点(^^)
点赞 回复 分享
发布于 2020-05-07 21:04
恭喜恭喜
点赞 回复 分享
发布于 2020-05-07 21:02

相关推荐

03-04 15:02
已编辑
南京大学 Java
3.3 一面岗位: 后台开发部门: 腾讯云场景题偏多,没问项目,没手撕,时长半小时1. 自我介绍2. Java基础:- Treemap & HashMap区别- ArrayList, 添加n个数(n较大),会发生什么(应该是想问ArrayList的扩容机制)- 考虑扩容的情况下这个过程的复杂度多少(说明复杂度计算思路即可,不需要给出具体的复杂度)3. 并发:- 项目里怎么用多线程的(一开始答了具体场景,不过面试官想听的是线程池,Synchronized这些...)- volatile & synchronized- 这里还问了一个,不过忘了...- 假设项目里用了很多synchronized拖慢了系统效率,让你重构项目,你怎么设计? (真不会,回了一个参考乐观锁的设计用版本号之类的,然后这个话题就过了)4. JVM- JVM垃圾回收,怎么判断对象有没有被引用? (可达性分析)- GC Root有哪些- 遇到OOM怎么排查5. 场景- 设计一个数据结构,用于在搜索框中搜索人名(不知道是不是这个意思,答了字典树这个结构)- 使用字典树存储的话空间复杂度是多少(同前面,给出计算思路就行,不需要具体的值)- 问了下简历上项目的背景,项目的具体内容没问- 项目里的难点/印象深刻的点,咋解决的- 针对上一点提了一个发散性的场景题(让你设计个xxx,你的思路)然后反问,无手撕。---春招第一面,被场景设计问题拷打麻了,就当练习了,不敢奢望能过,后续随缘了3.4更新,已挂
_追梦旅人_:大家考虑深圳睿联不,我们正在春招,可在我主页看岗位,感兴趣可直接投递~
查看15道真题和解析
点赞 评论 收藏
分享
评论
11
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务