富卫保险Java开发实习生面试经验

《面试题目》

  • 集合:HashMap、ConcurrentHashMap、ArrayList、LinkedList的区别与底层实现。
  • 数据库:事务隔离级别、MySQL慢查询优化、索引失效场景、B+树原理、级联查询。
  • 多线程:创建线程的方式、线程等待(Join/CountDownLatch等)、synchronized与ReentrantLock区别。
  • 框架:Spring Boot常用注解、Spring Cloud了解程度、AOP的应用场景。
  • 工具与性能:JMeter压测关注指标(QPS等)、Docker容器化基础、Redis业务应用。

《参考解析》

  • HashMap与ConcurrentHashMap:HashMap线程不安全,ConcurrentHashMap在JDK 1.7采用分段锁,1.8采用CAS+synchronized,并发性能更高。
  • MySQL事务隔离级别:读未提交、读已提交、可重复读(MySQL默认)、串行化。主要通过MVCC机制和锁机制解决脏读、不可重复读和幻读。
  • 索引失效:包括使用select *、对索引列进行函数运算、隐式类型转换、违反最左匹配原则、使用like以%开头等。
  • AOP应用:主要用于日志记录、事务管理、权限控制和性能监控,通过动态代理(JDK或CGLIB)实现非侵入式功能增强。
  • 线程等待:若需等待其他线程执行完毕,可使用Thread.join()方法,或者在多线程协作中利用CountDownLatch或CyclicBarrier进行同步控制。