一面
1. Github 有啥(刚开始听同学说面试官也会通过github看你的平时的积累,所以想着勤能补拙,没有牛逼开源项目,就注意每天把刷题代码与思路放上去)
2. 开始问项目 流程 优化。。。我做完好久了,真的忘记了一些细节。。。
3. 然后我开始暗示忘记项目细节说最近学Java
开始问Java
4. 面向对象的理解 – 这里答得没到人家心坎里,我是从写代码的角度,人家想听的是概念性的理解,举一些生活化的例子,说我思维局限在编程
5. 类与对象的关系 此时我从生活的例子开始描述。。。
6. 对象实例化的方式 = 创建一个对象几种方式
7. 反射怎么创建对象
8. 给你一个编译好的.class文件,怎么加载这个文件
9. 对象怎么被实例化出来
10. 类放在哪里,static方法放在哪里,构造函数 静态代码块 还有静态属性 实例属性加载的顺序是怎样的
11. Java 的代码有顺序么?
12. 还学过其他 动态语言么-Javascript?
13. Java内存模型是怎样的
14. 栈放什么
15. 堆放什么
16. 创建一个线程池 放哪里-这里我说放在栈中(当时短路了),他开始记录,然后提醒我new出来的。。。
17. 创建线程池几种方式
18. 给你一个线程池,需要一个线程执行到5s就返回结果,你怎么实现 –
19. 遇到线程安全问题怎么解决
20. 你怎么保证你获得的锁是最新的,--- 我没听懂,然后他解释一下说数据库的丢失更新等等怎么防止
21. 你怎么知道产生了脏读,怎么预防?
22. 悲观锁-乐观锁
23. Java 学了多久
开始写代码
24. 给一个abcdac 的字符串,找到 这个字符串任意路径不重复的最大长度。
a-c b-c c-d d-a a-c
比如输入(字符串, 位置1, 位置2)意思就是从字符串位置1到字符串位置2的不重复的最大长度 假如我问(上述字符串, 0, 5) 返回2
解释:想问的就是a走到c的最大步数,a可以到b,b可以到c 这样就2步,a也可以直接到c,这样就1步
25. 给一个二叉树,里面是由26个英文字母构成,按照层序遍历从左到右开始一层一层排列(树已经建好,每个节点存储的是英文字母,一共26个节点),问给任意两个字母返回这两个字母的路径和。
好多HR热衷于这样问……
清晰直白,真不戳
请教一下懒汉式单例的第三种线程安全改造与饿汉式还有什么区别??
楼主的这篇文章写得很精彩,总结的很到位,支持一个
这道题出得真好
哎呀,我居然把他看完了,谢谢大佬的文章