面试问题总结--2018年6月

  如何才能更新自己的知识库, 不至于故步自封呢? 每年都准备好, 进行一次面试. 通过面试交谈, 了解外面的需求, 了解当前到底都使用什么样的新技术. 自己和市场比薄弱点在哪里。然后反省, 不断学习。 可能是对就知识的深入了解, 也可能是对新知识的习得。

  在任何一家公司, 在任何一个项目里, 都不要只是知道项目是如何实现的, 要知道为什么要这样实现?有没有其他更好的办法?这样做的好处在哪里?要想到把问题抽象出来。站在一个更高的角度去看事物。后端有mvc三层架构, 那么前端可不可以也用三层架构呢? 什么样的设计会使得代码更优雅, 怎样设计才更好?要经常思考这些问题。

------------------------------------------------------------------------

java篇

高级, 考的更多的是底层的实现。更深入的问题。

1. HashMap的原理. 底层实现是什么?  (用画图的方式了解HashMap的底层, 并了解各个方法的实现)

2. equals方法底层是如何比较两个string对象是否相等的. 

3. Lock和Synchronized有什么区别? Lock里面有哪些方法? tryLock方法使用过么? 既然有了synchronized, 为什么又会有Lock的出现呢?

4. ArrayList底层实现原理是什么?

5. wait,notify与conditioin有什么区别?

6. spring aop是如何实现的?

7. spring 前置通知,后置通知是如何配置的?

8. dubbo有没有用过?

9. 微服务有了解过么? spring boot, spring cloud, spring security.

10. 数据库权限设置, 用的什么框架, 现在市面流行的shiro权限验证框架, 为什么不用呢?

11. Object是所有类的父类, 他都有哪些方法?

12. spring 中一个bean的生命周期是怎样的?

13. spring拦截器研究过吧, 那么spring拦截器是在什么时候被加载的?这就是问spring的架构, 初始化加载的顺序了。

14. 快排算法还记得么?

------------------------------------------------------------------------------

数据库篇

从来没有系统的学习数据。 其实有必要系统的学习学习数据库。 当然不是简单的增删改查。 更多的是学习数据库的深入知识, 索引, 事物隔离级别,数据库底层实现等等。

1. 数据库索引的原理

2. 数据库事物的隔离级别

3. 加上索引, 查询效率为什么快了

4. 索引多了, 修改和新增为什么就慢了?

5. 数据库有没有用过负载均衡?

---------------------------------------------------------------------------------

Linux篇

1. 常用的linux命令有哪些

2. 如何查询一个很大的文件里, 某一个指定的内容?

猜你喜欢

转载自www.cnblogs.com/ITPower/p/9232037.html