一面: 1、自我介绍 2、tcp和udp区别,应用场景 3、tcp三次握手,为什么有第三次 4、get和post区别,其他命令 5、进程和线程区别,什么时候用多线程,怎么保证线程安全 6、synchronized的使用,是对什么加锁 7、栈和队列,怎么用栈实现队列 8、垃圾回收算法,复制算法中存活对象太多怎么办 9、可达性分析,GC Root可以是哪些对象 10、hashmap底层实现,put get过程,扩容,为什么容量为2的倍数 11、java基本类型,基本类型间的转换(short+int得到int类型,不能直接把int型赋给short型) 12、String类,字符串相加+的底层操作,S...