河北超星Java工程师面试经验(已OC)
面试题目
一面:
- SQL优化流程
- MySQL索引的数据结构
- GC(垃圾回收)机制说明
- 堆的内存区域划分及各区域比例
- 内存泄漏的处理方式
- Java跨平台原理
- Object类的方法
- 常用的集合类
- 线程同步器了解情况
- Spring中使用的设计模式
- MVC工作流程
- Bean生命周期
- Spring常用注解
- Cookie和Session的区别
- HTTP响应码
- Nginx和Docker的了解程度
- 个人情况:高考分数、四六级分数
参考解析
- MySQL索引结构:采用B+树结构,非叶子节点存键值,叶子节点存数据。优势在于降低树的高度,减少磁盘I/O次数,且叶子节点有双向指针方便范围查找。
- Bean生命周期:主要包括实例化、属性注入、Aware接口注入、BeanPostProcessor前置处理、初始化方法(init-method)、BeanPostProcessor后置处理、使用、销毁。
- MVC流程:客户端请求 -> DispatcherServlet(前端控制器) -> HandlerMapping(寻找处理器) -> Controller(业务逻辑) -> ModelAndView -> ViewResolver(视图解析) -> 响应页面。
- 堆内存比例:新生代(Young)与老年代(Old)默认比例为1:2。新生代中Eden与两个Survivor(S0, S1)默认比例为8:1:1。