头条Android客户端开发面经分享

一面 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开发的一些问题,并且给了我相应的建议,真的非常感谢面试官。

总结

总的来说,我的字节面经并不是很具有代表性。大家也能看到,我的算法题都非常简单,我想这也许是因为我的项目比较多,相应地面试官就不会用算法去为难我。有些问题看起来很难,甚至很多面经都没有提到过,其实这些东西只要大家多写一些app,多总结多归纳,就会有一个比较基本的认知了。



作者:Android开发架构师
链接:https://www.jianshu.com/p/2e36bec4d350
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值