一面(39min)
请你介绍一下之前参与项目及职责
应用怎么和后台做数据交换,数据格式是怎么样的,客户端是怎么解析的?
如果请求失败之后客户端该怎样进行优化?
HTTP 是稳定的协议吗?
TCP 如何保证传输的数据是稳定的?
TCP 为什么要三次握手?
TCP 关于安全和稳定性的手段应该如何应用到项目里?
后台数据回到客户端之后,可以先缓存,缓存该如何设计?(多线程)
假如此刻在主线程,要处理网络传回的数据并且存入数据库,再返回来更新 UI。此处涉及到的网络线程切换 UI 线程如何操作?
线程池用过吗?谈谈线程池主要参数和处理流程
核心线程数会无限创建吗?如果超出了最大线程数该怎么处理?除了扩大队列长度之外怎么办?
GC 原理
类加载机制
每个阶段具体是怎么做的,java 如何变成 class
两个队列实现一个栈的功能
找出出现次数大于数组长度一半的数
反转字符串
死锁的条件
如何保证线程安全?
有用过读写锁吗?
数据库的共享锁,为什么这样设计?
二面(35min)
怎么考虑的整个 APP 的整个架构?
请你谈下MVP/MVC/MVVM的区别?
请你分析一下不同架构
有没有了解过容器式的架构模式?
讲讲 Fr