【字节跳动】客户端岗-Android方向校招

直接上面经吧。

一面:

  1. activity启动、生命周期、具体各种情况的生命周期(B透明A还是stop吗?A还可见吗?A-B-A的生命周期,为什么先pause再stop)
  2. 启动模式以及应用场景以及首页使用singleTask的问题、TaskAffinct作用、从栈中移除activity的时候是不是需要走完生命周期,为什么?
  3. service是什么,做什么用,具体启动方式,如何控制service,binder有什么要求、AIDL
  4. handler机制流程、looper中延迟消息谁来唤醒looper、ThreadLocal作用,使用场景,怎么用
  5. 自定义view绘制流程、事件分发、onclick各种情况、ontouchEvent和onTouchListener优先级
  6. 线程和进程区别、线程可以控制进程吗?进程可以控制线程吗
  7. 泛型擦除
  8. 反射中ClassLoader.loadClass和class.ForName区别
  9. 抽象类和接口区别,抽象类可以实现接口吗?
  10. AsyncTask
  11. 下载文件多线程如何实现
  12. 如何实现断点续传
  13. tcp/udp区别、平时用什么,为什么
  14. hashmap数据结构、初始大小、如何计算hash,插入在头还是在尾巴,为什么?hash冲突怎么办
  15. 算法:输入两个无序数组,找出不在数组B中的数组A

二面:

  1. 项目一个一个过
  2. 如何适配屏幕
  3. 死锁的条件
  4. 栈和堆,为什么要分成栈和堆
  5. 七层网络协议,数据包从发出到接收的过程
  6. https和http区别
  7. https流程
  8. http请求头
  9. Get和post区别
  10. 如何用两个栈实现队列
  11. 算法:在红白蓝球的乱序数组中,如何将颜色一样的放在一起,不可以新建数组。

三面:

  1. 项目具体、混淆原理,混淆了什么,混淆作用
  2. 遇到最困难的事情、技术的事情
  3. 数组找出现次数超过一半的数,map方式、站岗方式、链表方式、排序方式以及其中的时间复杂度
  4. 手撕排序实现找出现次数最多
  5. 完全二叉树层数,递归方法、归纳推理法、数学推导法
  6. hashmap以及其中的hashcode修改、equals修改
  7. handler机制原理、post方式具体
  8. linkedhashmap
  9. 用过哪些第三方库,原理是什么(okhttp)

发表评论

后才能评论