个人Github地址html
iOS面试资料汇总github
我的背景:坐标成都,14年入行iOS开发,非科班,18年9月在中国软件成都研发中心担任iOS组长。如今卫士通担任某产品线iOS组长。面试
2018年9月,个人小儿子出生了,当时正准备请陪产假在家陪老婆坐月子。结果得知咱们「掌游宝iOS离职天团」里面一位90后小伙通过两个月的准备,跳入一家18k的公司。突然以为本身也能够跳跳看了,因而有了下面的故事。算法
2018年9月,我在投递的简历已经有了回复,我将面试安排在了10月国庆节以后,这样一共就有20多天,能够好好准备准备面试。安全
此次方案是从网上搜索面试题。在github上看见一篇招聘一个靠谱iOS的面试题,在看这篇面试题以前,我对于类的底层结构,分类的结构,消息传递机制,KVO/KVC底层机制,自动释放池的底层结构并无什么了解。性能优化
由于要从头理解这些概念时间不可控,全部我决定把答案背下来,这样还能有时间能准备一下项目和再网络方面的面试题。markdown
此次面试经历了2个小时,问的问题基本都是招聘一个靠谱iOS上的题目。结果由于答案是背的,可是毕竟面试长达两个小时,有的问题渐渐深刻,我就答不上来了,因此此次面试就没有下文了。
由于其实都是围绕那篇面试题在提问,因此我分析仅仅是背答案是不行的,若是我能将招聘一个靠谱iOS上的题目涉及的知识点真正搞懂,是能够经过面试的。
因此我开始搜索资料。最后我发现iOS底层原理班上面讲的知识跟这篇面试题很匹配,因而花了大概2个月的时间,将视频前先后后看了两边,而且作了手写笔记。
另外我也看了资深大牛带你深度剖析ios面试,讲的相对浅一点,可是看成知识巩固仍是有必定做用。
2018年12在我深刻学习完iOS底层知识后,开始了个人第二次面试。由于对iOS的底层作了准备,因此一面的全部问题都能流畅的答出来。
一面结束时,我感叹本身的悟性和执行力。想一想本身仅仅一次面试就抓住了面试的真谛,心里窃喜。
二面是iOS端负责人,开口就问我对性能优化有什么经验?这个问题我彻底没有准备,一会儿不知道从哪些方面来回答这个问题。磕磕绊绊的就答了一些代码性能方面的优化。以后两天就获得了回复:
此次面试以后,我才对面试的内容有了更深入的认识,看来除了底层知识,性能优化,内存,崩溃方面的知识也必须准备。
因而我又购买了《Effective Objective 2.0》,《高性能iOS应用开发》等关于性能优化的书,花了大概两个月时间,看完以后我信心满满,以为此次没有面试能难住我了!
在《极客时间》上,我也看见了一个iOS开发高手课也很是有做用。我认认真真的学习完了每节课,而且认真输出了笔记。
2019年2月,我经过Boss直聘内推参加了腾讯面试,这对于我来讲,但是了不起的经历。对于一个非科班的程序员,终于能和BAT正面硬刚了。
一面主要是针对项目内容进行扩展,其余问题都是网上能找到答案的面试题,包括经常使用的锁,三方库源代码等。在一面即将结束的前五分钟,我自觉得已经hold住此次面试了,想一想BAT的面试不过如此嘛。
在一面结束前面试官说:咱们的经理要求此次的面试岗位,要多问一下算法,请你跟我讲一下树的遍历有哪几种?
WTF,算法我真的没有重视过,之前以为工做用不上,这种错误的意识一开始就是根深蒂固了。不出所料,我收到了回复:
如何想进的是非BAT的大公司,准备底层知识(包括三方库源码)和性能优化知识已经足够了,可是若是你想进入一线大厂,算法这道门槛就必须跨过去!
第三次面试失败以后,我总结本身这半年知识提高很大,可是算法方面短时间提高不上来,因此去一家本地大厂,潜心学习。
2019年5月,我进入了卫士通,一家作安全的国企,面试比较顺利,国企的当然有缺点,可是倒是适合本身的。
其实卫士通的面试难度与前两次面试难度一致,也就说个人判断是正确的,经过这段时间的学习,个人能力能够匹配成都本地的大厂,可是想进一线公司,就还须要学算法。
进入这家公司以后,前几个月赶了新项目的进度,以后就开始了算法的学习。好巧不巧,小码哥的算法课程上线了!想一想个人每次跳槽,都是把小码哥的视频拿出来看。
此次算法学习,我先看了《极客时间》的算法课程,可是越日后看,愈加现课程讲的不够深刻,后来我又找到了小码哥的恋上数据结构与算法,才以为本身真正上船了。
此次算法的学习笔记,我已经整理在了掘金里面:个人小码哥《恋上数据结构与算法》学习笔记
固然,还在持续更新...
大厂是目标,必须进大厂,这个不用说!
若是要进BAT等大厂,算法是必定要扎实的。若是算法这一关过不了,就只能在非一线的公司混!
妈的,感受这个道理很简单啊,为何花了2年的时间才明白呢?!
固然还有一些别的经验,包括如何选择和阅读三方库代码?应该看哪些书籍?应该如何准备项目?网络方面应该看什么?如何打造我的影响力?这些都是这两年慢慢总结的,之后再分享吧。