字节跳动安卓面经
前两天面试了字节跳动安卓开发的实习生,给大家分享一下面经。
字节跳动好像都是一下子把三面都面完,所以要好好准备一下,多在牛客网上看一下别人的面经。
一面
Rxjava的实现原理(我直接说不了解,然后就没往下问)
安卓的消息机制
ThreadLocal作用和原理
自定义view原理
自定义view:如何实现一个长宽相等的view
自定义view:需要在imageView的基础上设计一个显示用户头像的view,如何设计
TCP/UDP
TCP/UDP对应的应用层协议分别有哪些
HTTP协议(方法类型、POST和GET能不能相互转换)
RecyclerView怎么实现显示不同的Header和Footer
Adapter的原理和设计模式
最大整数+1是多少
算法题1:求一个数的15倍,不能用+*/
算法题2:两个有序链表合成一个有序链表,原来两个链表各自内部无重复结点,合并后的链表也不能有重复结点。
二面
安卓事件分发,关键的几个函数
MVP结构和MVC结构的特点
安卓进程间通信
Java垃圾回收
Java虚拟机的内存模型(栈、堆、方法区等等)
最近学习了哪些有趣的知识
算法题1:二叉树中序遍历(递归非递归)
算法题2:二叉树中是否存在某一条路径,其结点的和为一个指定的数
三面
讲一下你的项目
你为什么要做这个项目
平时你是怎么学习的
安卓JNI的使用
c语言中有字符串吗
你觉得js和java的最大区别是什么
你有什么想问我的
HR面
首先介绍一下你自己
介绍一下你的项目
做这个项目前你有进行过调研吗
讲一下你平时是怎么学习的
你未来几年的职业规划是什么
是哪里人
你有其他offer吗
总结
面试官都是很友好的,对于你不了解的领域,可以直接说不了解,面试官应该也不会往这个方向问。我认为面试考察在专业领域学习的深度和知识面的广度。
简历上写的技能和项目一定要熟悉。
算法和代码风格要好。