仓库源文站点原文


layout: post title: "阿里社招电话一面总结" categories: Thinking tags: Interview

author: 张乘辉

今天下午接到阿里面试官的面试电话,这位哥们花费将近一个小时跟我唠叨,让小弟不胜感激,在这过程中收获挺大的,也知道了自己的很多不足,心里也有了一个奋斗的目标,特此记录一下阿里社招电话一面,面试官问到的一些问题,问题不分先后,因为问题有点多,想到哪个就记录哪个:

  1. 描述一下 Java8 哪些新特性?你是如何使用 Stream 流操作的?
  2. HashMap 和 HashSet 的底层实现原理
  3. Mybatis 如何防止 sql 穿透
  4. JVM 的内存模型
  5. 类加载机制
  6. Java 有那些同步机制?说一下 volatile 关键字
  7. Spring 的 PostProcessor 接口起到什么作用
  8. Spring 如何实现事务
  9. 如何在 Bean 对象中获取 ApllicationContext 上下文对象?
  10. Mysql 索引类型有多少种
  11. Mysql 索引的使用与优化
  12. Mybatis 是如何执行 sql 语句的
  13. JDBC 获取数据库连接的大概过程(从 getConnection 开始)
  14. PreparedStatement 和 Statement 区别
  15. Mybatis 的一些 API 接口,比如 SqlSession、sessionFactory 等等
  16. 动态代理有哪些?JDK 动态代理和 cglib 有什么不同?
  17. 为什么用 Spring data JPA 而不用 Mybatis(主要针对我的项目来问的)
  18. 请描述一下从浏览器输入一行请求 url 开始,SpringMVC 的整个处理过程
  19. 请求是先 Filter 还是先经过 Servlet?Servlet 处理完后,还会经过 Filter 吗?
  20. Java 线程有几种状态
  21. 说一下 sleep() 和 wait() 方法的区别
  22. 如何唤醒处于睡眠状体的线程
  23. 如何释放处于等待中的线程
  24. Executor 创建的线程池,有哪几种类型?
  25. Executor 创建线程池的构造方法的参数都有哪些?
  26. corePoolSize = 5,maximumPoolSize = 10,那么现在有4个任务同时进来,这时会创建几条线程?如果还没处理完又进来2个任务,此时又会创建几条线程还是不会创建?
  27. 还有哪些最原生最简单使用多线程的方法?
  28. new 一个对象都经历了那几个过程?(考反射)
  29. Java 的异常有哪几种?Throwble 的子类有哪些?
  30. 请问是不是每次连接数据库都创建一个连接?线程池你都有哪些了解?有接触过哪些线程池?
  31. 数据库联表查询时,左连接和右连接的区别
  32. 说说 Mysql 的四种事务隔离级别
  33. 你是通过什么方式进行学习的?

总结:面试过程中的问题都很随机,也很有针对性,主要看你的项目所涉及到的,以及你的回答继续深入提问的,面试官可能会根据你现在的回答情况,信手拈来问你这个回答涉及到的下一个问题。