面试经历题目总结

近段时间一直在参与面试,一方面想看下自己的真实水平,另一方面抱着私心看是否能遇到自己更想参与的公司。

普通公司面试基本上都是网上可以搜到的面试题目,问的话也只局限于表面,平常多了解些倒是能过。

但若遇到类似阿里的面试,那简单的问题可能就要无限复杂,知其使用,也必知其根源。所以 还是静下心来,认真学习技术吧!

以下是我在各公司面试会遇到的一些问题:

一:JAVA基础篇

1.1:接口与抽象类的区别及其各自的应用场景
1.2:string 是否能被继承,及enum枚举类是否能被继承
1.3:集合类都有哪些,hashmap,hashtable,concurrentHashmap线程安全性,hashMap的线程不安全性体现在哪里(put还是get不安全),为什么 concurrentHashmap 会比hashtable效率高ps:无论是锁整个还是锁块,都是锁机制。ArrayList,LinkedList 如果给个对象集合如何对其排序。sortset,treeset,blockingQueue等其他集合的是否有了解
1.4:线程都有哪些状态及操作系统都有哪些状态,及创建线程的方式
1.5 : jdk1.8增加了一些线程的哪些东西,及lamber表达式等
1.6 : 为什么要用线程池,如有100个请求,线程池大小是10 那后续的90个怎么处理
1.7 : 两个进程间如何进行通信?

二:Spring篇
2.1 : SpringMVC 与struts2.0 为什么不用2.0 ,SpringMVC的工作原理,spring的工作机制,spring bean是不是单例的 是否线程安全,如何保证线程安全。
2.2: servlert 的状态都有哪些,一般用到的都有哪些servlert
2.3 : Spring如何进行事务管理;如A线程加入事务,在此基础上起B事务,B事务是否还会生效

三:JVM篇
3.1 : Java虚拟机运行时数据区都有哪些,及各自都是存储些什么?程序计数器用于栈,为什么栈不按照先进后出,而要引入计数器
3.2:Java运行图
3.3 :垃圾回收都有哪些,分代收集的工作原理
3.4 : 如何查看线上堆栈信息,及如何定位导致的内存溢出,cpu高等问题

四;WEB层
4.1 : http协议,tcp/ip协议
4.2 ; http都有哪些状态,301与302的区别是什么
4.3:session 与cookie 的区别是什么
4.5 : get 与post的区别 除了地址问题为什么要用post

五:其他篇
5.1: 消息队列采用什么,为什么要用消息队列 而不是用webservice
针对消息队列出现重复发送,或是重复消费应怎样处理
5.2:分布式锁怎么设置,都有哪些
5.3:为什么采用redis而不用memcache ,redis的类型都有哪些,及其常用场景
5.4: plsql在自己系统中都怎么使用,事务的隔离级别有哪些,及对应的问题(脏读,幻读,不可重复读)。
5.5:sql优化都有哪些,索引都有哪些类型
5.6:设计模式都有哪些,spring的策略模式,springAop的动态代理模式等
5.7:为什么要采用微服务,服务治理的概念,及为甚采用springboot 跟springmvc有什么差别。Docker是否有了解
5.8:git,svn有哪些不同,为什么现在趋向于用git.

你可能感兴趣的:(面试经历题目总结)