大厂面试真题向来都是各大求职者的最佳练兵场,而今天小编带来的便是“HUAWEI”面经!这是一次真实的面试经历,虽然不是我自己亲身经历但是听当事人叙述后便会深有同感(因为我朋友差点就与offer擦肩而过了,总共4面技术5面HR,真的好艰难)。为此,我也将这面经整理出来分享给每位程序员(媛)朋友做一个参考,可知“HUAWEI”在Java开发工程师招聘中有哪些技术性考察和倾向!
代码:
问:在Linux系统中运行项目,是否需要提前安装插件?
答案:不要。因为lombok在编译期有效,由xxx.java文件编译为xxx.class文件时,已经动态添加了set/get等方法,所以在项目发布时(xxx.class文件组成的xxx.jar)不需要安装lombok环境。
[](()1.3 SpringBoot测试环境说明
调用流程:
UserController------->UserService中的方法---------->获取返回值
需求:
由于编辑UserController的同事不在,所以Controller的方法无法得知,导致自己写的Service无法测试。
解决方案:
SpringBoot由于开发中需要经常编译测试的方法,为了降低代码联调的代价,则SpringBoot提供了专门用于测试的注解@SpringBootTest。
注解说明:如果测试方法中添加了该注解,则当执行@Test注解方法时,则Spring容器将会启动,启动之后将所有需要依赖注入的信息完整构建,之后用户可针对性的挑选需要测试的代码。
@SpringBootTest
class SpringbootDemo1ApplicationTests {
@Autowired
private UserController userController;
@Test
void contextLoads() {
String msg = userController.getMsg();
System.out.println(msg);
}
[](()1.4 Spring容器内存结构
当用户点击main方法时,启动程序(开始)。
SpringBoot程序开始加载主启动类上的注解@SpringBootApplication(SpringBoot内部运行机制开始执行)。
当SpringBoot程序开始执行,则会动态的获取当前主启动类的包路径(con.jt)。
通过包扫描机制,将特定的注解标识的类(Controller/Service/Dao)交给Spring容器管理。
Spring容器维护的是一个Map集合
当对象创建时(实例化),遇到@Autowired则需要依赖注入对象,当整个Spring容器内部都没有该对象时,则会报错注入失败,如果Map中维护了需要注入的对象,则会注入成功,等待用户的调用。
[](()1.5 SpringBoot整合Mybatis
org.springframework.boot
spring-boot-starter-parent
2.5.3
com.jt
springboot-demo2
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-devtools
org.projectlombok
lombok
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-jdbc
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.0
org.springframework.boot
spring-boot-maven-plugin
@SpringBootApplication
@MapperScan(“com.jt.mapper”) //通过包扫描机制,设定该路径下的所有类,Spring会为其创建代理对象(实质为接口的实现类)
public class MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisApplication.class, args);
}
}
《一线大厂Java面试真题解析+Java核心总结学习笔记+最新全套讲解视频+实战项目源码》开源
Java优秀开源项目:
- ali1024.coding.net/public/P7/Java/git
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
实战项目源码》开源**
Java优秀开源项目:
- ali1024.coding.net/public/P7/Java/git
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
[外链图片转存中…(img-5U4ri8h4-1649482754204)]