
本人是应届生,没有Android开发相关的经验,个人能力更偏向web前端,可能是因为部门是大前端所以得到了面试机会。一共面了3次,前两次主要都是通用的前端知识考查,最后一次偏向Android的基本知识。可能是实习经历和个人技术栈都和当前部门契合得不多,问得比较简单,供大家参考吧。前两次面试没有限制编程语言,最后3面考察Android相关的技能,限制只能使用kotlin。
1. promise是否使用过,有什么作用?
2. 异步操作有什么应用?
3. promise和setTimeout有什么区别?
4. async关键字的作用,原理
5. http和https有什么区别?
6. https的加密是如何实现的?
7. 哈希表是如何实现的,冲突如何解决?
8. Linux的基本文件操作?
9. 进程和线程有什么区别?是如何进行管理的?
10.线程池
11. 项目中是如何实现删除表项后更新页面的?有什么优化方案?
12. 项目中有哪些难点?
13.了解activity的生命周期吗?
14.在activityA中启动一个activityB,两个activity的生命周期函数执行顺序是怎样的?
15. 在注册一个activity时android:exported的作用是什么?
16. kotlin中如何实现空安全?
17. ?. 和 ?:
18.若确定一个变量不可能为空,可以如何编码?
(进程和线程部分还有很多问得比较细的问题忘记了)
代码题:
1.简化路径(leetcode原题)
2.字符串分割和合并
3.统计出现次数最多的字母
4.合并有序数组
5.寻找链表倒数第k个元素