超详细字节跳动校招iOS工程师面筋!!!
字节跳动
-
首先问了问简历中项目的一些实现细节;
-
开始提问一些IOS的内存管理问题(Run Time,Run Loop,ARC等)、动画实现的问题;
-
还问了操作系统、编译原理、网络相关的问题来摸底;
-
最后现场做一道算法题,是关于单链表的,可惜我平时刷题还是刷的太少,链表还是比较懵逼,在考官提示下做了一个比较差劲的解法。
最后总体感觉就不是很好,还需要再多多学习。
问:你项目中多语言是如何应用内切换的?
答:替换Bundle,重新初始化,面试官可能觉得是没啥新意的方法。
问:了解ios的内存管理机制吗?了解Run time吗?了解Run Loop吗?了解ARC吗?了解动画实现的原理吗?
答:就说了说引用计数、闭包中self可能导致循环引用之类的。后面三个名次没解释好。
问:了解Https吗?
答:SSL证书生成私钥之类的说了一堆。考官问怎么验证证书有效性,我感觉没答好。
问:了解进程与线程吗?了解程序编译成二进制码的过程吗?了解多线程吗,实践过吗?讲一讲锁?
答:进程包含线程,就说了这个是可能对的。词法语法分析,语义分析,中间代码生成,代码优化,生成二进制码。后面两个问题有点懵逼。
问:算法题:怎么判断两个链表是否相交?
答:这个还有点复杂的,我链表做得本身就少,最后在考官点拨下,做了一个复杂度高的解法。(要考虑很多情况,比如环)