前言
很早以前, 我其实是一个不喜欢看书的人, 平时的我更愿意去读一些别人的技术博客或者源码. 在这样一个快节奏的时代, 耐心读完一本书是极其奢侈的. 因此我总是寻找一些所谓的“精华”、“总结”, 告诉自己这些短平快的文章也能达到一样的效果.
直到去年公司倒闭, 出去面试四处碰壁的时候才发现, 自己平时看的那些所谓的“精华”, 很多都是点到为止, 没有深入的细究和升华, 无法让自己得到太多的技术提升, 也很难在面试过程中有好的表现. 直到在一次面试的最后, 面试官向我推荐了几本开发相关的书籍, 我才开始尝试去读书. 我把面试官推荐的几本书买了回来(也有网上的数字版), 并开始了马拉松式的阅读. 在阅读的过程中, 我发现了其他阅读渠道很难出现的大量的知识点、实现细节, 以及各种现象背后的原理. 这些内容由于太过冗长且不利于快速阅读而被删减、“优化”, 最终成为了我们日常光顾的门户网站、个人博客中的“精品文章”.
在阅读书籍的过程中, 我能很明显的感觉到自己对一些固有事物的理解变得更加透彻, 更有深度, 通俗的讲, 就是我每看完一个章节总有那么几次想要“哇”出来. 原来Delegate还可以这么用? 原来Block有这么多种? 原来编译器为我们做了那么多工作? 读书带来的成长是巨大且快速的, 这也让我在还没有啃完书单的情况下顺利找到了一份好的工作, 也就是我现在的工作.
讲完了我和书的故事, 我再来讲讲这本《iOS面试之道》.
《iOS面试之道》这本书上架京东的当天就第一时间下单了. 除了作者唐巧的号召力以及一众大佬们的强烈推荐外, 还有一个很现实的问题: 很多技术不错的人往往因为情商不够或者语言表达能力欠佳而失去一些机会. 面试技巧是一个不那么常用但关系到每个人实际工作的技能, 很多人甚至因此隔三差五去面试以增加自己的面积技巧. 也有人认为面试技巧只是一种巧计, 技术实力才是硬道理. 但是一个公司招聘的不仅仅是一个写代码的机器, 他希望求职者能够有良好的品德、能够融入公司的环境、有强大的沟通能力. 无论是参加面试还是阅读相关书籍, 我们能够发现自己在技术和技术之外的不足, 并尝试定向改善它们, 只有这样我们才能成为公司真正需要的人才. 当然《iOS面试之道》不仅仅是面向求职者, 也同样面向面试官, 在公司选择人才方面具有非常大的参考价值.
下面是我阅读《iOS面试之道》的读书笔记, 其中结合了一些我自己的经验.
面试经验
简历
简历是面试的敲门砖, 与传统行业不同, 互联网行业在任何事情上都追求“效率”两字. 因此“效率”两个字化到简历上就是一个字: 短.
- 尽量不要超过1页A4纸, 绝对不要超过2页A4纸
- 不要照片、学校成就、兴趣爱好等和技术无关的内容
- 提炼自我介绍, 工作年限、职位、领域等, 不要出现大量修饰词
- 突出参与项目和工作内容, 减少无意义内容(比如开发环境介绍, 第三方框架等)
- 保证简历的真实性
- 使用PDF
简历的总结不多, 但实现难度不小. 需要用最简短的语言突出你的个人特点和技术能力, 极其考验一个人的语言处理能力. 但是一个好的简历是好工作的第一步, 需要每个人用心去面对.
渠道
求职渠道主要就两个:校招和社招, 社招又包含平台、内推、猎头, 下面依次介绍.
- 内推无疑是最好的渠道, 有一些公司甚至会直接免去部分面试项目. 不过内推需要你有一定的社交圈, 仅仅依靠过往的同事是远远不够的, 因此定期参加一些活动、在社交平台上互动等都能让你认识一些圈内人.
- 对于应届毕业生而言内推依然是最先推荐的, 可以通过认识的学长或学姐进行引荐, 从而免去校招的筛选.
- 互联网有一些知名的求职平台(如拉钩), 可以通过这些平台找到你想要的工作. 但这些平台的用户量往往很大, 因此竞争相当激烈, 被筛选掉的几率也很高.
- 很多公司也会提供自己的邮箱供求职者投递, 这或许是避开竞争的一个渠道.
- 一旦你的工作经验上去了, 有了大厂的背景, 这个时候很多猎头会主动找上你. 但要清楚一点: 他们仅仅是给甲方提供候选人, 有一些公司可能没有那么好但会被猎头包装的很好, 相反有的时候你可能不是很符合甲方公司的要求但猎头会主动帮你“优化”简历以应付甲方, 这些对你来说都不是太好.
面试流程
对于已经工作的人而言, 多多少少已经经历了几次面试. 面试的过程其实不外呼自我介绍、项目讨论、技术问答, 有的会加入算法考察或者系统设计等等. 面试过程不仅仅是考验你的技术实力, 你字里行间的表述能力、表情神态、抗压能力都是面试官考察的点. 在此我不对书中的内容展开讲, 但有一点需要各位读者记住: 每次面试完之后都要对自己的面试过程进行分析和总结, 找出自己表现不佳的地方, 并针对性的进行改进. 比如明知道自己算法题做不出来, 可以去看看算法相关的书籍; 讲话的时候磕磕巴巴, 或者表述不清楚, 就需要锻炼自己的语言表达能力. 切记不要把反思仅仅停留在“没做出来的那几道技术题”上, 而是透过问题看到自己本质的缺陷.
技术和代码
虽然前面讲了很多非技术性的东西, 但技术永远是面试考察的第一要素. 它考验了我们平时对技术的积累, 对问题的钻研程度, 对细节的敏感度, 对产品的理解能力. 这些能力都无法通过抱佛脚的方式快速获得, 而且这需要我们在日常工作的过程中始终怀有探索研究的心.
有的面试需要我们手写代码, 它检验了我们对代码的熟悉程度以及代码格式的规范性. 手写代码和上机不一样, 可能需要提前适应. 我们也需要适当了解自己职能之外的技术, 比如前端和后端. 当我们对整个程序闭环有一定了解之后, 思考某些问题的眼光就会放的更远, 比如系统设计类的题目.
提问
面试最后, 面试官往往会礼貌性的询问你是否有其他问题. 你可以问一两个技术或工作方面的问题, 也可以不问, 但千万不要询问一下问题.
- 我刚才表现的好不好(不会得到真话)
- 刚才那道题的答案是什么(不方便透露, 也懒得跟你解释)
- 我每个月能拿多少钱(这个问题只能问HR)
Offer
面试到这里可以说是正式结束了, 剩下的就是等待HR的Offer. 如果没有拿到Offer也不要气馁, 像前面所说的, 好好反思一下自己的表现, 然后试着改善自己的不足. 如果你足够幸运得到了多个Offer, 可能摆在你面前的就是另外一个问题: 如何选择.
我个人比较同意书中的观点, 有名校背景的可以去有潜力的初创公司, 相反没有名校光环的尽量去大厂. 这可能和用人市场的现状是相反的, 但是HR在筛选初期主要就看两点: 学校和公司. 初创公司往往有较大的主动权, 你可能会负责整个项目的开发, 甚至还能接触到其他的技术. 名校背景的孩子可以在初创公司快速成长, 同时也不会影响之后求职. 而没有教育光环的孩子更应该去大厂“镀金”, 即便工资不高产品边缘, 甚至外派有时也可以考虑. 大厂往往有非常明确的分工和相对完整的开发流程, 同时也是下一份工作的垫脚石. 虽然有一点难, 但还是要尽量朝这个方向努力.
以上就是我阅读《iOS面试之道》面试篇的总结. 正如我前面所说, 要真正理解作者的意图、把作者的经验全部吸取, 你还是需要购买一本完整的书来阅读.
https://item.jd.com/12403068.html
大家可以到京东购买这本《iOS面试之道》.