一、被裁
7年了我失去了在腾讯7年的工作。虽然有事先通风,但是我没有想到这一天会来的那么快。今天中午收到消息说我们这个组要被砍掉,因为公司要准备解散了,首先拿我们开刀,也就是裁人,下午接着就进行谈话,谈了赔偿等相关事宜,然后就准备交接工作,忙了一下午。我人生第一次经历公司解散的,这个经历有点奇妙,还以为我会炒老板鱿鱼,没想到竟然是老板先炒了我鱿鱼。
二、东方不亮西方亮
通过内推获得了面试字节跳动的机会,字节跳动应该大家比较熟了,不过多介绍。抖音创作工具部门,主要是负责抖音内的拍摄、视频编辑、发布整个流程,是 app 内的核心业务之一。前不久,嗯被优化了部门在杭州开设了 Office,于是我抱着试试看的心里居然通过了!
职位描述
1、负责相机、视频、图片编辑相关应用产品的开发以及体验优化;
2、负责多媒体相关应用基础组件开发、架构设计;
3、负责项目重点、难点的技术攻坚任务,沉淀相关平台和组件;
4、持续优化产品,提升产品质量,在竞品之间建立技术壁垒。
职位要求:
1、本科及以上学历,计算机相关专业;
2、3年以上iOS端原生开发经验;
3、精通Objective-C,熟练使用C/C++进行跨平台开发,熟悉Swift;
4、熟悉iOS系统运行机制及内核,熟悉移动终端特性和解决方案;
5、优秀的编码习惯,对于设计模式等常见的编码技巧有很好的认知。熟悉网络编程、数据库;
三、逆袭过程(答案已经整理,【腾讯文档】里)
一面(~45min)
-
介绍项目,讲述一下实习的工作内容和感想(~10min)
-
什么是内存泄漏,iOS里有哪些内存泄漏的场景,原因是什么?
-
MVC和MVVM的区别?MVVM和MVP的区别?
-
面向对象的几个设计原则了解么?最好可以结合场景来说。
-
可以说几个重构的技巧么?你觉得重构适合什么时候来做?
-
你觉得框架和设计模式的区别是什么?
一面比较短,问的问题也还好,大概30分钟后开始二面
二面(~1h30min)
-
自我介绍
-
介绍项目,为什么要做iOS开发?(~5min)
-
链表和数组的区别是什么?插入和查询的时间复杂度分别是多少?
-
哈希表是如何实现的?如何解决地址冲突?
-
属性关键字assign、retain、weak、copy
-
KVO底层实现原理?手动触发KVO?swift如何实现KVO?
-
静态链接了解么?静态库和动态库的区别?
-
项目中哪个功能最能体现自己的技术实力?具体讲一下
-
对hash算法了解么,iOS中哪些地方用到了hash算法,hash冲突怎么解决
-
面试官:有什么要问的么?
二面问题量非常的大,集中在工作、项目、算法,但并没有特别难以回答的问题,认真准备的话大部分都能答出来。面试官也非常友好,给了很多引导和提示。
因为三面面试官的时间问题,约了两天后的三面
第三面,电话面试
-
自我介绍
-
介绍一下之前做的工作,是自己完成的吗,遇到什么困难,成果怎么样
-
项目中哪个功能最能体现自己的技术实力?具体讲一下
-
常见的崩溃有哪些,遇到崩溃问题怎么查找解决,遇到无符号化的崩溃怎么处理
-
数据库读写安全,表结构发生变化,怎么合理更新数据库缓存
-
设计模式有哪些,在项目中怎么体现的
-
除了oc,有学习别的语言么,一般是怎么学习的
-
为什么离职,离职原因说一下
-
是哪里人,为什么想到上海来就业?
三面的问题不多,不过因为多数问题没有标准答案,难度其实高于一二面
四、学习笔记和面试交流不可少
面试需要注意:
针对以上面试技术点,我在这里也做一些资料,希望能更好的帮助到大家。需要的小伙伴,点这里可以看到全部内容。
网友评论