阅读 3802

三年iOS面试之大厂寻梦记

前言

从十月中旬面试至今已满一个月, 尘埃即将落地, 在此对这段面试经历做个小结.

内容主要围绕面试准备以及职业发展两方面展开, 虽不包含具体面试题等信息, 但会列出个人归纳的面试考纲以及注意事项等供参考.

目录

全文字数: 1,763 | 预计阅读: 6分钟

点击展开目录
  • 面试经历
    • 面试结果
    • 投递建议
  • 面试准备
    • 心理准备
    • 物资准备
      • 硬实力
      • 软实力
  • 职业发展
  • The End

面试经历

面试结果

老规矩, 先上大家关心的结果

  • 上海:
    • 喜马拉雅FM: offer call
    • 小红书: offer call
    • 携程: 二轮游卒
    • 英语流利说: offer call
    • 饿了么: 三轮游+hr面卒
    • B站: offer call
    • 美团: 二轮游卒
    • 抖音: 三轮游+hr面卒
  • 北京:
    • 百度贴吧: offer call
    • 蚂蚁金服: 5面完, 等hr面
    • 高德地图: offer call
    • 百度凤巢: offer call
    • 西瓜视频: offer call

投递建议

首先, 无论是走内推、猎头或自投(某直聘、某钩、官网/公众号)等方式, 在简历投递次数和频率上都要克制, 比如只安排一周内的面试、每天至多面1家、预约下午面试等等.

其次, 看清楚JD职位要求, 以及错开对同派系公司不同岗位的投递. 比如, 可能公司内部共用同一套招聘系统, 某个岗位进入面试流程后, 那么其他岗位是无法同时进行面试的.

最后, 不要太在意投递结果, 2~3天没回复就尝试投递其他岗位.

另外, 可能有同学注意到, 我面过同派系不同bu的岗位, 据我个人不靠谱的猜测, 这块逻辑可能是这样的:

if (内推 + 之前面试记录性质良好) {
  // 可能有机会
} else if (自己继续投 + 多争取一番) {
  // 机会很小, 但想去就得尝试
} else {
  // 可能得半年后了
}
复制代码

面试准备

准备方面我分为两部分, 首先是心理层面的准备, 然后才是战备"物资"

心理准备

  1. 明确动机

    比如为什么要跳槽或你想从事什么内容? 马爸爸曾提及过三要素(钱、心、事), 你是否完全认同? 或是有其他的原因?

    不鼓励轻易跳槽, 跳槽未必有利于你长期的发展, 还有就是像某东在就职经历这块卡的很严

  2. 优势劣势

    面对其他候选人, 是否清楚自己的优势劣势?比如你某方面技术突出、抗压能力更好、沟通能力更好等. 认清不足以及想好未来具体的提高的计划

  3. 最坏打算

    若决定离开, 那么便坚决离开, 没有回头路. 决定前做好最坏打算, 比如连续面试下来结果都不好, 是否能承受, 有无备选方案?

  4. 学会健忘

    可能某几次面试结果不尽人意, 或是因为准备不足, 或是因为"气场不和"等等. 总之摆正心态, 忘记之前的面试结果, 对面试中发现的问题有针对性的去总结和提高, 然后接着面就好

尤其对于"放长线作战"的同学, 个人推荐花时间搞清楚以上4点

物资准备

"物资"直接决定面试的成败. 主要分为硬实力与软实力的体现

硬实力

相比于记面试题, 不如夯实题目后边的知识点, 面试遇到原题的几率还是不要赌了. 掌握知识点无论对面试或工作成长都大有裨益

此处奉上三年iOS开发面试考纲, 个人愚见, 仅供参考

  • 通用技能
    • 数据结构、算法(排序、字符串、数组、位操作、回溯、双指针、DFS、BFS、DP、分治、二分查找..)
    • 设计模式(创建型、结构型、行为型设计模式)
    • 计算机网络(应用层/传输层协议、网络分层..)
    • 操作系统(进程、线程、内存布局..)
    • 编译原理(编译过程..)
  • iOS技能
    • 修饰符, 可变不可变对象等基础
    • Runtime
    • RunLoop
    • KVC、KVO原理
    • block本质
    • category本质
    • 内存管理
    • 事件传递
    • App、VC、View、CALayer生命周期
    • 多线程(队列、锁)
    • 性能优化(体验优化、启动优化、网络优化、编译优化)
    • 主流组件化、模块化、架构方案
    • Core Animation、屏幕渲染等
    • 数据持久化方案
    • 动态化方案(Hybird/RN/Weex/Flutter)
  • 项目经历
    • 简历上写的
    • 主流三方库

所有列举的知识点, 本次面试均有涉及. 深度方面需个人进行挖掘

算法貌似大厂必考项, 技术面几乎每轮都有, 推荐leetcode分类型进行算法思路的训练, 一般可以秒杀medium的题目足矣, 仅一次问到hard难度的题目

然后iOS知识点考察, 仅知道是什么远不够, 更多的是为什么, 实现原理这些. 平时需要多积累, 比如从某个问题深入挖掘, 看源码, 博客文章(内容未必都对, 带着辩证思维去看)等. 另外印象笔记剪藏功能用于收藏回顾真的相当不错.

面试官往往会由浅入深进行考察, 若不会就明确表示出来(吃过强答的亏, 印象分那是卡卡卡的掉) 一定要多与面试官沟通, 倾听面试官把问题描述完, 若只是忘了细节争取能说下思路也好

软实力

  • 沟通能力
  • 价值观
  • 学习方式
  • 职业规划
  • EQ
  • ...

最后, 有时间不妨了解下面试岗位的相关产品, 比如对产品体验一番, 或做个逆向, 面试时也会多一笔谈资

职业发展

这方面结合各位大佬赠与的宝贵建议简单概括一下

  • 围绕核心

    对于走技术路线的同学来说, 毫无疑问就是不断提升技术方面的深度以及广度

  • 提高软实力

    专业以外的能力, 具体前边也有提及, 比如学习方式的改进, 沟通能力的提高, 变得更靠谱等

  • 承担更多

    不单单专注于完成分内之事或提高个人, 尝试放大格局, 主动去承担本分以外的职责, 比如思考并实践对整个团队或者整个公司层面有益的事

The End

全文观点皆主观想法, 各位见仁见智

最后祝大家早日拿到期望offer, 未来发展上越走越远!

还特别感谢老东家的知遇之恩以及各位领导同事对我的关照, 谢谢所有给与我面试机会的公司跟遇到的每位面试官和hr同学.

很多大佬(达文哥、官钦哥、东哥、亮哥等等)在面试中或私下就职业发展方面赠与了非常非常宝贵的建议, 受益匪浅, 大恩不言谢!


原文作者: ShawnFoo

原文地址: shawnfoo.github.io/2018/11/19/…

关注下面的标签,发现更多相似文章
评论