【滴滴】客户端岗-三轮面试拿到意向书
一面
7月2日
1.C语言中全局变量和局部变量的声明周期
2.new和malloc产生的对象存储空间分配在哪里?对一个结构体数组使用malloc申请空间应该怎么写?
3.Java的synchronized的用法。写一个生产者消费者模型
4.Android的消息队列,handler机制
5.消息队列是一个死循环,为什么不会发生ANR?
6.了解哪些设计模式?
7.算法题:合并两个有序数组
应该还问了一些东西,但是我记得不是很清楚了。总的来说,一面问的东西比较基础也比较浅,算是基础面了。面完后十分钟接到了约二面的电话。
二面
7月12日
1.JVM的GC
2.安卓的线程通信和进程通信
3.Sqlite的使用
4.经典的问题:完成一次HTTP请求都需要经过哪些步骤?
5.HTTP和HTTPS的区别
6.flutter的使用体会
7.怎么看待flutter的状态管理
8.为什么flutter的数据流是单向的?
9.dart虚拟机的工作模型
10.mvc、mvp、mvvm的异同
11.算法题:二叉树的层次遍历,同时判断二叉树是否平衡
除了算法题外,二面问的问题比一面要难一些。当天晚上约了三面。
三面
7月17日
1.自己写的课程表项目的介绍
2.自定义View要重写哪些方法?
3.Sqlite更新数据库的字段后要怎么操作?
4.一键导入课表的功能怎么实现的?
5.自己写的社交app的介绍
6.app如何保活?
7.activity的声明周期
8.Service和PushSDK
9.使用了哪些第三方库?
10.算法题:判断回文链表。要求空间复杂度O(1),时间复杂度O(n)
三面是我收获最大的一面,从面试官那里学到了很多app开发的知识。面试官也指出了我现在学习android开发的一些问题,并且给了我相应的建议,真的非常感谢面试官。