本文主要是介绍2019年春季java工程师面试题总结(亲历),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、java方面
1、javaweb方面,三大组件
2、lambad表达式用途,优点
3、set防止重复的策略
4、枚举的遍历
5、向上转型,向下转型
6、反射机制
7、动态代理机制
8、线程池实现原理,配置参数
9、 jvm:64位jvm int的范围,g1,cms垃圾收集器原理,垃圾收集算法及其优缺点,java内存模型。
11、jvm client模式和server模式
12、synchronized实现原理,lock实现原理,区别。
13、如何防止死锁?
设置加锁顺序,设置加锁时限,死锁检测,设置线程优先级
14、多线程场景,同步场景
15、ip转成int算法题
16、api接口设计原则
17、常用java集合,比如ArrayList,LinkedList,HashMap ConcurrentHashMap,源码必看,
相似集合之间的区别,为什么线程安全,为什么不是线程安全的,扩容机制?put机制?集合遍历删除的坑?都是重点。
18、静态变量,静态方法,静态代码块。
19、String,StringBuffer,StrinBuilder三兄弟。
20、工作中用到的设计模式,使用场景,为什么使用?单例模式,缺点,怎么防止单例攻击,反射攻击,禁止反序列化
二、数据库
1、数据库索引结构,使用原因,怎么避免索引失效?sql优化原则?执行计划怎么看?分库分表?
2、oracle和mysql的索引类型,存储引擎?两种常用存储引擎区别?
3、plsql优点
4、redis持久化方式,区别
5、redis查看内存占用情况
6、redis缓存策略
7、redis线程模型
8、redis一致性哈希
9、如何应对缓存穿透和缓存雪崩问题
10、使用es的根据,es集群节点相关,es的坑
11、kafka给数据定义唯一性标识
12、消息中间件,特点,为什么使用,kafka支持的数据类型
13、数据库事务机制,隔离级别,防止哪些错误?默认隔离级别?
三、框架
1、springboot优缺点,自动配置原理,使用过哪些组件。
2、spring ioc和aop原理
3、springboot与springbmvc,springboot区别
4、spring事务机制,隔离级别,传播行为
5、bean的生命周期
6、依赖注入的方式
基于注解注入、setter注入、构造器注入
7、spring中使用的设计模式
8、mybatis ${}和#{}区别,使用场景。
9、mybatis中mapper文件中批量插入数据实现。
10、mybatis开启缓存。
11、springmvc请求实现过程。
四、综合
1、遇到最难的问题,解决过程?
2、与上级有不同意见怎么办?
3、现在的开发项目流程?项目分工?
4、项目规模,包括人员,资金。
5、怎么自学新的技术?通过哪些途径?
6、职业规划,这个也很重要。
这篇关于2019年春季java工程师面试题总结(亲历)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!