头条安卓开发实习---实际面试java
渣硕程序媛一枚,本来投的java后台,奈何hr小姐姐两次约安卓,只能硬着头皮来,没接触过安卓,只会java写后台,约的视频面,一口气面两场,有些记不清了,大致问题如下
一面
3SUM问题怎么做 时间复杂度
2SUM 时间复杂度比较低的方法--哈希表
手写堆排序
手写后序遍历非递归代码
类加载
双亲委派模型
动态*** jdk cglib实现原理
final关键字如何使用
java反射机制
final修饰的成员变量,在运行期间利用反射机制是否能修改成员变量的值
场景题:
一个手机app,功能是播放视频,视频播放之前有预加载,自己设计一个预加载类,你觉得该怎么设计
LRU是否接触过
二面
JVM内存模型介绍
String str = new String("123") 创建了几个对象,都存在哪
双亲委派模型
如果用户自己实现一个String类,是否能加载
单例模式---手写线程安全的单例模式
synchronized关键字作用,是否保证可见性
synchronized(类.class)作用,如果在类的静态变量使用synchronized是给什么上锁
volatile关键字作用,是否保证原子性
线程安全的容器
concurrentHashMap实现原理
hashmap实现原理
如果hashcode冲突,给出一个key,value怎么找对象
设计模式接触过哪些
解释IOC AOP都是什么
AOP实现原理
不用动态***怎么实现AOP
tcp udp区别
https实现原理,交互过程