0927,美团二面,1h
1. 自我介绍
2. 深挖项目
1. SwiftUI 怎么样,和 UIKit 比如何,你是怎么学的 Swift,有没有做方案的选型
2. 动画如何实现(自己瞎掰头,他说差不多是这个意思)
3. 序列化怎么做的
4. 网络库用的什么
5. iOS 这边 MVVM,APNs 怎么做的
3. 有没有了解过一些其他的移动端框架,Flutter 画点粒度做 UI
4. 实验室项目
1. 项目里面实现一个新的控件需要干什么
2. UDP 可靠性如何解决的(场景不需要)
3. 项目落地如何,如何保证可维护性
4. CI/CD 怎么做的,为什么要做,解决了什么问题(跨平台编译,避免重复这个答得可以)
5. 基础知识
1. 链表,数组区别
2. 单链表,双链表具体的应用场景(浏览器回退,LRU)
3. 智能指针。自动回收(什么时候回收的,Runloop)
6. 算法题,10个数找前5个最大的元素用什么(堆排他说不合适。快排,单边排),最大连续元素(紧张了没写边界条件)
7. 反问
1. 对应届生的什么能力比较看重(看重项目,侧面反应是否有兴趣)
2. 文档文化,文档写不好怎么办(看别人的文章学习精华,和写代码是一个逻辑,要多看多写)
二面凉了,总结一下:
1. 项目准备不足,我的 iOS 项目都是 2年前的东西了,好多都回忆不起来了,可能面试官在疑惑这个项目真是我做的吗(我有 Github Link 呀,commit 记录都实大实的 )
2. 客户端基础知识不足。可能在我自我介绍和项目看来我是一个比较喜欢新技术的人,其实个人只是用框架干事,热衷于做新需求,用技术解决问题。没有了解里面的技术核心原理,不太能侃,在他看来可能就是比较漂浮的技术,这部分没有表达好自己,没有把自己动手解决问题的能力表现出来,所以吃了亏。