最新Java校招面试题及答案
10)还有一些问题,如 MySQL 和 SQL Server 用法上的区别、limit 关键字的使用等问题。 小结:数据库方面还是事务机制、隔离级别比较重要,当然了数据库索引是必考的问题。偶尔也会给你几个表,让你现场写 SQL 语句,主要考察 group by 和 having 等关键字。 (八)MVC 框架相关知识点我在项目中使用的框架有 Spring MVC 和 MyBatis,所以在简历上只写了这两种框架,面试官主要针对这两种框架进行提问。以下问题供小伙伴们参考。 JavaWeb 开发经典的 3 层框架:Web 层、Service 层(业务逻辑层)和 Dao 层(数据访问层)
Spring 知识点 1)Spring 的 IOC 和 AOP 有了解吗? 答:
2)AOP 的实现方式有哪几种?如何选择?(必考) 答:JDK 动态代理实现和 cglib 实现。 选择:
扩展:JDK 动态代理如何实现?(加分点) 答:JDK 动态代理,只能对实现了接口的类生成代理,而不是针对类,该目标类型实现的接口都将被代理。原理是通过在运行期间创建一个接口的实现类来完成对目标对象的代理。
解析:关于 IOC 和 AOP 的详细阐述,请各位参阅我的博客:Spring 核心 AOP(面向切面编程)总结,Spring 框架学习—控制反转(IOC) 3)Spring MVC 的核心控制器是什么?消息处理流程有哪些? 答:核心控制器为 DispatcherServlet。消息流程如下: <img src="https://www.52php.cn/res/2019/03-16/23/fa0a33b96b08d7ffc6ded52cf4c2996a.jpg" alt=""> 4)其他问题包括:重定向和转发的区别、动态代理和静态代理的区别等。 Mybatis 知识点 关于 MyBatis 主要考察占位符#和 $ 的区别,区别如下:
小结:限于作者水平,MVC 框架方面了解不是太多,实战能力欠缺。面试官偶尔问框架底层实现原理等都知之甚少,有能力的小伙伴可以多加学习。 (九)大数据相关知识点大数据相关是因为我的简历上写了 KafKa 相关项目,所以面试官会进行提问 KafKa 相关知识点,我也进行了一些简单概念总结,深层次的实现原理因为并没有特别多的实战经验,所以并不了解。 以下概念总结供小伙伴参考。 1)KafKa 基本特性: 答:快速持久化、支持批量读写消息、支持消息分区,提高了并发能力、支持在线增加分区、支持为每个分区创建多个副本。 扩展:为什么可以实现快速持久化? 答:KafKa 将消息保存在磁盘中,并且读写磁盘的方式是顺序读写,避免了随机读写磁盘(寻道时间过长)导致的性能瓶颈;磁盘的顺序读写速度超过内存随机读写。 2)核心概念: 答:
副本(replica):
消费者组(Consumer Group): 每个 consumer 都属于一个 consumer group,每条消息只能被 consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。 Broker:
Cluster&Controller:
保留策略和日志压缩:
关于副本机制:(加分点) ISR 集合 :表示当前 “可用” 且消息量与 Leader 相差不多的副本集合。满足条件如下:
HW&LEO:
ISR、HW 和 LEO 的工作配合:
(编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |