字节客户端 1+2+3 面 (已OC)
一面(75分钟)12.9:
- 进程和线程区别;
- 内核态和用户态。你个人的理解
- 计算机网络的结构;
- 说一说五层和七层模型,分别说说每一层做的事儿;
- TCP位于哪一层
- SOCket位于哪一层;
- TCP UDP区别;
- TCP怎么保证可靠传输;
- ARQ协议;
- 具体讲讲拥塞控制;
- 讲讲Java异常体系;
- 讲讲final 和 static
- Java四大引用;
- 讲讲 hashmap
- 说一说一次完整的GC流程;
- JVM分配对象怎么保证线程安全;
- JVM内存分配模型;
- 堆和栈的区别;
- 活动的四种启动模式;
- Activity的生命周期(在不同情况下的生命周期的变化)
- view 事件的分发原理;
- 事件分发的是三个方法;
- RecycleView是否会拦截事件;
- RecycleView回收复用机制;
- RecycleView局部刷新原理;
- RecycleView怎么处理滑动卡顿的问题;
- SharedPreferences底层实现;
- sp提交数据两种方式的区别;
- sp是否是线程安全的;
- 了解MMKV吗;
- OKHttp原理;
- OKHttp哪些设计点值得学习;
- 讲讲插入和比较排序的原理;
- 算法: 之字形打印二叉树
二面(65分钟)12.14:
- DNS寻址;
- 说说你了解的域名服务器;
- DNS是TCP还是UDP(为什么)
- HTTP请求的办法;
- get和post区别;
- 你提到了收藏,具体讲讲收藏是什么意思?
- linux内核数据存储的策略;
- linux进程调度的规则;
- 说说虚拟内存;
- 虚拟地址和物理地址;
- 操作系统的内存管理方式;
- 调用sleep()线程会进入什么态;
- 调用join呢?join和sleep的区别;
- 讲讲值传递和引用传递;
- finally 和 finalize()区别
- finalize是可以主动的被调用吗
- finalize的不确定性体现在哪里;
- 方法重载和重写;
- 不想让一个方法被重写的措施;
- 泛型中T 和 ? 的区别;
- ThreadLocal;
- handler里边哪里用到了ThreadLocal ?具体怎么用到的?
- 如何在非主线程中使用handler?
- Android中的context;
- ANR出现及怎么避免;
- viewsub、include、merge区别及使用场景;
- LinearLayout和relativeLayout性能分析;
- 算法:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
三面 12.21:
大部分时间在问项目。
单纯的知识点问到了数组和链表的区别、堆、Gson、OKHttp
#安卓面经##字节跳动##面试题目#