面的是字节跳动平常实习岗,面试体验挺好的,面试官和hr都很nice,挺有效率的。不过实力也是运气的一部分,三面面试官对计算机基础要求高,因为大二目前尚未开课,也没有对操做系统和计网进行自学,只有简单了解,怪本身没有花更多的时间去自学。最后止步于三面仍是挺惋惜的,大二若是能找到一个实习仍是挺棒的体验。java
一面面试
- 聊项目,项目中作了什么,难点是什么
- 组件化实现,ARouter+EventBus
- 观察者模式
- Retrofit动态代理细节实现,如何与Rxjava配合使用,动态代理能代理抽象类吗?Retrofit为何会选择接口来定义请求方法。
- Jetpack框架
- Kotlin
- HashMap、HashTable、ConcurrentHashMap
- 手写中序遍历二叉树非递归
二面算法
- 聊项目,项目中作了什么
- 一样问了Jetpack框架,LifeCycle、LiveData好处,observer和observerForever的区别。
- sychronized、volatile,这里扯到了JVM内存模型
- 线程如何同步,生产者消费者模型,如何终止线程
- Rxjava的Flowable和Observable区别,map和flatmap,线程切换如何实现
- MVVM和MVP的区别,以及实现细节
- 一点点计网相关,请求头,POST、GET,抓包等。
- ViewModel相关内容,例如为何用ViewModelProviders而不是new,ViewModel与MVP里Presenter的对比
- 为何要选取xxx框架
- 手写判断平衡二叉树
三面
三面面试官挺注重基础的,因为大二计网和操做系统没怎么学,被问傻了。框架
- 聊项目,为何要重构,对业务上来讲不是没帮助吗
- Java写了多久,为何转Kotlin,这样基础不会不牢固吗
- volatile关键字
- Kotlin范型与Java范型
- http和https,就答了ssl加密,其余就不太清楚了
- 为何计算机要设计栈和堆
- 因为基础太菜了,面试官未出算法题。 Ps:有平台不错的公司的大佬能捞我简历吗...有大二hc的...555