面试题汇总:java篇

229 阅读3分钟

Q1:对于之前业务流程的介绍 目的:是否沟通/交流无障碍,是否能总结/归纳自己的业务,是否理解自己做的事情。

Q2:自己在整个团队中的起的作用是什么 目的:是否有管理的意识,是否能和团队中其他人快速合作

Q3:对方常用编辑器的快捷键 目的:如果不知道常用的快捷键,对方的上限是可以预估的。

Q4:如果有使用过java8,需要沟通下Lambda的使用情况 目的;是否真的在接受新的技术知识

Q5:java并发包的简单介绍 目的:基本功,原理可以不知道,但是基本对象 atomInteger/executor/lock/CountDownLatch/CyclicBarrier/Semaphore,需要知道。如果不知道,你怎么会使用呢?

Q6:Collections这个类有什么用?有哪些常用的方法 目的:强调:是collections不是 collection。基本功,如果工具类的方法都不知道,你怎么会使用?

Q7:类似的collections的工具类,有哪些 目的;判断知识面

Q8:spring中有哪些annotation。 目的:判断知识面

Q9:spring中annotation为什么会生效 目的:spring基本功判断

Q10:spring中有很多bean的的扩展机制:如InitMethod,可以在bean初始化时调用,那么类似的bean的扩展机制有哪些 目的:spring bean基本功

Q11:spring事物中required和required_new的区别 目的:spring基本功

Q12:什么是sql注入? 目的:一般需要了解

Q13:enum映射到数据中,默认的数据类型时什么? 目的: 判断是否有代码编写。不写代码的人没有一个答对的

Q14:数据库中字段保存的值为0.00001,那么对应的java对象是什么 目的:引出BigDecimal

Q15:BigDecimal使用的注意点(难) 目的:是否理解为什么要用BigDecimal和精度的控制。

Q16:new BigDecimal(“0”) new BigDecimal(“0.00“)equals的返回值 目的:是否理解BigDecimal的精度控制

Q17:基础的sql的书写能力沟通 目的:sql的使用情况

Q18:person表(id/name/age/city),查询每个城市中年龄最大的前3个人(难) 目的:一般使用这个问题来确认对方的SQL能力

Q19:tomcat中 server.xml可以配置哪些信息 目的:一般高级工程师需要深度了解

Q20:linux中管道的意义和使用示例。 目的:linux基本功判断

Q21:linux中的权限控制,那么一个文件如果时416 权限,什么意思? 目的:linux基本功

Q22:两台linux机器如何互传文件 目的:linux文件传输

Q23:为什么不能用kill -9 命令来重启应用 目的:了解事物的一致性和线程的运行时被kill的问题,高级需要了解

Q24:一般的SQL优化思路?

Q25:为什么业务选用Cassandra做数据库?

Q26:Nginx 负载均衡策略,有哪些负载均衡算法?

Q27:HashMap 底层原理?查询的时间复杂度?

Q28:ConcurrentHashMap?

Q29:volatile作用及其底层原理?

Q30:Synchronized和Lock区别?

Q31:线程有哪几种创建方式?

Q32:线程池几个核心参数,说一下?基本原理?

Q33:Minor GC和Full GC?

Q34:FULL GC产生有哪些情况,线上如何排查?

Q35:简述一致性哈希算法?

Q36:RPC 原理?如过自己设计一个,简单说下思路?

Q37:Shiro 底层原理?

Q38:ELK我怎么做?具体的一些项目情况