秋招面试题系列- - -Java 工程师(一)

简介: 秋招面试题系列- - -Java 工程师(一)

一、秋招时间轴


七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。. 这个时候,同学们就可以把暑假积累的实习或项目经验 更新在简历上,然后时刻留意各家公司的招聘页面 ,看到合适的职位就 抓紧申请 或请熟人 内推 。. 9-11月:面试. 通过简历筛选的同学,这段时间就会陆续接到公司的 面试邀请 啦。


时间轴安排:


6月-7月:秋招提前批


8月-9月:互联网秋招高峰期+快消提前批


这个时间点的秋招以互联网公司居多,尤其是第一梯队的互联网公司秋招都是呈现越来越早的趋势;


8月-10月:四大、快消、医药等行业陆续开启秋招;


9月-11月:银行、地产、能源石化、汽车、国企央企、金融咨询、物流航空等行业秋招高峰期;


10月-12月:秋招offer发放期


这个阶段朋友圈就可以看到很多人晒offer了,另外传媒、证券等行业这个时候还有很多在秋招;


12月:秋招补录/春招提前批


每年的12月份各大公司的秋招补录都是高峰期,同时会有部分企业和大厂抢人开放春招提前批。


一般来讲,秋招可以分为三大阶段:秋招提前批——正式秋招——秋招补录


针对现有互联网市场,JAVA作为后端的主流语言,JAVA工程师的需求量还是占主体地位。


二、JAVA工程师面试题

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈


内容涵盖量较大,学长这里把它分为几个模块来讲解~~


MyBatis面试题


1、什么是 Mybatis?

1、Mybatis是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建


statement等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql执行性能,灵活度高。


2、MyBatis可以使用 XML或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。


3、通过 xml文件或注解的方式将要执行的各种 statement配置起来,并通过


java对象和 statement中 sql的动态参数进行映射生成最终执行的 sql语句,最后由 mybatis框架执行 sql并将结果映射为 java对象并返回。(从执行 sql到返回 result的过程)。


2、Mybaits的优点:

1、基于 SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在 XML里,解除 sql与程序代码的耦合,便于统一管理;提供 XML标签,支持编写动态 SQL语句,并可重用。


2、与 JDBC相比,减少了 50%以上的代码量,消除了 JDBC大量冗余的代码,不需要手动开关连接;


3、很好的与各种数据库兼容(因为 MyBatis使用 JDBC来连接数据库,所以只要JDBC支持的数据库 MyBatis都支持)。


4、能够与 Spring很好的集成;


5、提供映射标签,支持对象与数据库的 ORM字段关系映射;提供对象关系映射标签,支持对象关系组件维护。


3、MyBatis框架的缺点:

1、SQL语句的编写工作量较大,尤其当字段多、关联表多时,对开发人员编写SQL语句的功底有一定要求。


2、SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。


4、MyBatis框架适用场合:

1、MyBatis专注于 SQL本身,是一个足够灵活的 DAO层解决方案。


2、对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。

相关文章
|
1月前
|
架构师 前端开发 Java
Java开发工程师的职业规划应该是什么样的?
Java开发工程师的职业规划涵盖多个阶段,包括初入行业(0-1年)、技能提升(1-3年)、技术专家(3-5年)及管理或专家路线选择(5年以上)。各阶段设定了明确的技能要求与职业目标,从掌握Java基础、常用框架到深入研究高级技术、微服务架构乃至担任管理职务或成为技术专家。通过持续学习与实践,结合个人兴趣,Java工程师可在技术或管理领域找到合适的发展方向,最终实现职业成功。
297 83
|
14天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
35 2
|
1月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
58 18
|
1月前
|
人工智能 前端开发 Java
Java开发工程师转哪个行业比较好?
Java开发工程师转哪个行业比较好?
177 2
|
18天前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
21 0
|
1月前
|
小程序 前端开发 JavaScript
Java开发工程师转小程序开发的前景如何?
Java开发工程师转小程序开发的前景如何?
35 0
|
2月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
2月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
148 0
|
2月前
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的"Hello, World!"示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
49 0
|
2月前
|
算法 Java
【多线程面试题十八】、说一说Java中乐观锁和悲观锁的区别
这篇文章讨论了Java中的乐观锁和悲观锁的区别,其中悲观锁假设最坏情况并在访问数据时上锁,如通过`synchronized`或`Lock`接口实现;而乐观锁则在更新数据时检查是否被其他线程修改,适用于多读场景,并常通过CAS操作实现,如Java并发包`java.util.concurrent`中的类。