上个月刚换了工作,面试很少,想拿到满意的薪资很难,尤其客户端日薄西山,真的是很艰难啊,一度学了一星期的鸿蒙开发,想顺势换赛道,结果证明背八股文还是有用的,京东二面过,百度二面过,美团二面挂,阿里一面挂,内推的一家一面挂,一家小公司面过。三个星期就五六个面试,基本上一面纯技术能面30分钟左右大概就过了,回答的不行的情况下面不满半小时,二面还是技术会抓住一个点深问(30多了,正编是进不去了,只能外包混混日子了,想保底拿20k以上,也只有这些大公司外包了)虽然只面试了几家,也算大概知道了高级现在都问那些问题。
1.响应链必问,会延伸考察一下runloop
2.weak原理
3.第三方,比如SDWebImage和AFNetworking,sd最好深度了解其缓存原理和优点,AF更新的都解决了什么问题,这里延伸问了http 1.0 1.1 2.0各解决了什么问题
4.block必问
5.runtime常用场景,如果仅是方法交换不能让人满意,可以延伸回答比如runtime进行tableview优化等
6.组件化和路由通信,大公司必问。实在不了解的朋友可以参考蘑菇街方案,这个研究明白了,60分肯定有的
7.印象很深的一问,分类为什么优先父类,原理没讲出来(倒插法加载)
8.启动优化这一块,连接期-runtime期-main函数,关联+load方法,方法调用顺序这块,还有image,二进制桩,可讲可问面很广,建议选一个方法能深度回答的。
9.阿里最变态,问了哈希冲突,连接法,开发寻址法,还有算法,aop面向切面编程。然后项目里写了视频,问了视频插帧和补帧,光荣的一面挂。(就阿里问了)
10.进程线程,多线程这些也是必问。
以上是一些基本都会问的,其它还有设计模式 mvvm kvc kvo这些。
总体而言,还是比较卷的,很重要的一点,不会的千万别写啥精通,会真的一直问到你不会,精通这俩字自带嘲讽。
话都说到这了,我还是建议大龄客户端想法子换赛道吧,短期续命可以考虑转鸿蒙,个人认为红利期三五年问题不大,长期的可以性感iOS在线炒粉。