记一次被虐的体无完肤的面试
自上次字节三面挂后,又投了次实习生。然后迎来了一次被嗯在地上摩擦的面试。深深体会到了自己的菜,我真的是只会背书。项目用到的东西都是自己套上去的,为了看起来不那么low,谁让我在公司做的都是crud。。所以无论什么我都只能讲出个大概,原理细节代码什么的,我,只能说自己菜。还有tcp实现http那个问题,我毫无一点思路,打开http流不关闭的后果我只能说浪费资源,说不出别的了。感觉他问我什么我都不会,估计他也很无奈。
- 项目相关:分布式锁是锁住一部分还是整个系统,既然是锁住整个,为什么不用消息队列(这个问题我不知道咋描述,他怎么说的我忘了,我也不是很理解。。)
- 项目相关:详细讲下怎么用 mq 实现的最终一致性,还有怎么利用的消息事务
- hashmap 的结构,讲到一半,不用讲了,你来写一下它的 put 方法吧,不考虑扩容,简单写下。。
- tcp 于 http 的关系,如何基于 tcp 实现 http
- java 打开一个 http 流不关闭的后果
- io 流是基于抽象类还是接口实现的
- 数据库的乐观锁和悲观锁是什么
- 乐观锁实现原理,讲到一半,来写一个乐观锁吧
- java 的类中有什么方法
- 线程安全是什么
- volatile 和 synchorized 的区别
- 假如有一个类 A 和一个 类 B,这两个类都有一个变量和一个自增操作,A 类的变量用 volatile 修饰,B 类没有用,B 类的自增操作用 synchorized 修饰,他们都是线程安全的吗,如果都是,那为什么要用 synchorized ,volatile 不是更轻量吗,synchorized 有什么作用。
- 8 个 CPU ,4 个线程,16个线程什么的。。问题我忘了,因为我不懂
- 最后提问环节,我。。有什么学习的建议吗,怎么学习。面试官答:看官方文档不要看博客看源码。好的。。