转载

遗憾的Android实习生面试

面的是字节跳动日常实习岗,面试体验挺好的,挺有效率的。不过实力也是运气的一部分,三面面试官对计算机基础要求高,由于大二目前还没有开课,也没有对操作系统和计网进行自学,只有简单了解,怪自己没有花更多的时间去自学。最后止步于三面还是挺可惜的,大二如果能找到一个实习还是挺棒的体验。

一面

  1. 聊项目,项目中做了什么,难点是什么
  2. 组件化实现,ARouter+EventBus
  3. 观察者模式
  4. Retrofit动态代理细节实现,如何与Rxjava配合使用,动态代理能代理抽象类吗?Retrofit为什么会选择接口来定义请求方法。
  5. Jetpack框架
  6. Kotlin
  7. HashMap、HashTable、ConcurrentHashMap
  8. 手写中序遍历二叉树非递归

二面

  1. 聊项目,项目中做了什么
  2. 同样问了Jetpack框架,LifeCycle、LiveData好处,observer和observerForever的区别。
  3. sychronized、volatile,这里扯到了JVM内存模型
  4. 线程如何同步,生产者消费者模型,如何终止线程
  5. Rxjava的Flowable和Observable区别,map和flatmap,线程切换如何实现
  6. MVVM和MVP的区别,以及实现细节
  7. 一点点计网相关,请求头,POST、GET,抓包等。
  8. ViewModel相关内容,例如为什么用ViewModelProviders而不是new,ViewModel与MVP里Presenter的对比
  9. 为什么要选取xxx框架
  10. 手写判断平衡二叉树

三面

三面面试官挺注重基础的,由于大二计网和操作系统没怎么学,被问傻了。

  1. 聊项目,为什么要重构,对业务上来说不是没帮助吗
  2. Java写了多久,为什么转Kotlin,这样基础不会不牢固吗
  3. volatile关键字
  4. Kotlin范型与Java范型
  5. http和https,就答了ssl加密,其他就不太清楚了
  6. 为什么计算机要设计栈和堆
  7. 由于基础太菜了,面试官未出算法题。
原文  https://juejin.im/post/5cb999b2e51d456e8757ddf8
正文到此结束
Loading...