面经收集

2020-11-30 96

自身经历

一家很像培训机构的小公司
1:一面HR面
先做一份Java基础题

  1. JSP和Servlet区别
  2. get和post
  3. SpringMVC流程

项目经理

2:二面技术面
1.
2.
3.
4.

Spring启动原理

  • 执行web.xml中的ContextLoaderListener监听器
  • 初始化ContextLoaderListener中的contextInitialized方法

Springboot启动原理
1> 大家都知道SpringBoot是通过main函数启动的,这里面跟踪代码到处都没有找到while(true),为什么启动后可以一直跑?

2> SpringBoot默认使用tomcat作为web容器。大家也可以通过在pom文件中exclusion掉tomcat,denpendency jetty 的方法来使用jetty。那SpringBoot是怎么做到在不同web容器之间切换的呢?

3> 传统的web容器比如jetty本质上是直接通过java start.jar 来启动,之后来加载spring上下文的,SpringBoot通过main函数是怎么来启动web容器的呢?