面试积累
/ / 点击 /要求:
- 薪酬结构
- 五险一金(全额,非全额要在基础薪资上调整)
- 技术团队规模
- 上下班时间 单双休 加班情况
- 人员配置 发版频率
- 绩效 年终奖
- 其他福利 餐补 车补贴 房补贴
项目经验:
遇到了什么困难怎么解决的
- 直播
做了两方面的隔离,一是与其他业务模块的解耦 利用中间控制层 直播模块提供出对其他业务场景的依赖需求 其他业务模块提供这些能力给直播;二是把直播内部分为业务表现层和三方依赖层 具体做法是把三方直播依赖沉淀到baseview 把业务层需要的能力通过统一能力管理输出 (主要是直播画面能力控制和自定义消息协议的控制)
首页
动画控件
级联view
tab
java基础:
同步锁
同步锁的原理:线程和进程
位运算
常见十进制D、二进制B、八进制Q和十六进制H(逢几进1)n
十进制向n进制转化:十进制转化为n进制时 十进制数一直除以n得余数 到一直不能整除为止,小数点部分是将小数部分乘以n 取整 然后小数部分继续乘以n 取整部分倒叙排序就是小数部分的值
二进制转n进制:采用r(二进制和n进制之间的位数差 例如八进制是3合1、十六进制时4合1,如果是32进制就是 5合1)合1的方式,如果位数不够r位,整数部分向左补零,小数部分向右补零,然后按照案权展开相加即可得线程安全
进程保活
HashMap原理
- HashTable
- 序列化
- 泛性-类型擦除
数据结构与算法:
- 时间复杂度、空间复杂度
- 手写快排
手写归并排序
手写堆以及堆排序
说一下排序算法的区别(时间复杂度和空间复杂度)
网络:
tcp的三次握手和四次挥手:
第一次:c端发送连接请求 序列号seq=x SYN创建连接状态
第二次:b端收到信息后 发送确认码ack=x+1 SYN=1
第三次:c端收到后http2.0
- Android下网络优化方案
- QUIC协议
Android基础:
pt px dp
android sdk
JNI framework
安卓系统架构
安全机制(网络安全 本地数据安全 apk代码安全)
Java内存管理
LRUCahe DiskLRUCahe
RecyclerView 和ListView
三方库:
eventbus原理
利用反射触发事件函数的执行
关键的一个键值对来存储数据 key是eventType(传递的时事件类型)
线程模式 posting:处理函数看post在线程就在什么线程执行
main:处理函数在主线程执行
background:处理函数在子线程 post如果在主线程辉创建子线程 如果在子线程就直接在子线程触发处理
async:新建子线程触发处理函数的执行butterknife原理
- okhttp
- rxjava
- retrofit
- Glide Fresco 三级缓冲
其他:
对称加密和非对称加密
工作中解决了什么难题,做了什么有成就感的项目(这个问题一定会问到,所以肯定要做准备)