这几个月面试了十二家公司,有国企、互联网和传统公司,面试官最常问题目就是JVM、集合、Spring和算法题。
9月27:xxxx(第一次面试)
- 实现List有哪些类?
- 哪些是线程安全的?为什么?
- LinkedList的查询的时间复杂度,与ArrayList的区别?
- 对HashMap的了解?
- HashMap的查找复杂度
- 你在学校里喜欢哪门课程?
- 你熟悉哪些算法?
- 讲下快排的过程
- JVM分区、堆的结构、GC在哪个区
- 创建线程的方法
- Linux中查看线程死亡的命令
- Spring拦截器是在DispatcherServlet之前还是在此之后执行?
- Spring的了解
- SpringMVC的配置
- mybatis的标签
- 项目中遇到的难点
- 你认为你们班谁是最强的
- 你的兴趣是什么
9月28:某大厂
- 你最近学了哪些技术
- 讲下List、及对他们的理解
- 讲下set集合、set是怎么去重的、如果存储的类型是String,那是怎么去重的
- 讲下你项目的前端
- Maven怎么在Tomcat上部署的
- 说说spring AOP与IOC
- MVC的理解
- 现在你有什么问题想问我的吗
- 如果你进入我们公司,可以负责哪个模块
10月17:金融类公司
- 自我介绍
- 哪个项目是你映像比较深刻的,分页的实现
- 内连接与外连接的区别
- AJAX怎么实现异步,AJAX的优势
- jQuery中有哪些方法
- table中的tr中的name是一样的,你的后端是怎么获取的
- ArrayList与LinkedList的区别
- Spring的事务是怎么配置的
- JVM
- 一个算法题:1~50之内的数,有多少种相加等于50
- 为什么存在i+1 < i
- 你平时都遇到哪些异常
- JSP内置对象
- jdbc的连接步骤
- 你有什么问题想问我的
10月24:银行类
- 自我介绍
- 对我们公司的理解
- 如果进入我们公司,是否接收调剂
- 说说你为什么能胜任Java开发
- JVM中的gc
- 数据库的认识
- 数据库group by与order by的区别
- 队列
- HashMap
- 重载
- 你们有什么问题想问我们了
10月25:联通子公司
- 你的优势
- 你在项目中自己调过JVM配置参数吗?
- TomCat与jetty的区别
- TreeMap
- Spring的理解
- 目中自己用过AOP吗
- SpringBoot
- 抛开技术方面,你平时对java的认识
- Oracle
- == 与 equals的区别
- 你之前面试过哪家公司
- 你平时怎么对待技术的
- 爱好
- 你有什么问题想问我了
10月27:大数据类(电话面试)
- 自我介绍
- 两道简单的算法题
- ArrayList与LinkedList的区别
- 并发编程用哪个集合(ConcurrentHashMap)、CAS
- 如果并发编程我就要用HashMap,你怎么解决不安全问题?
- MySQL和Oracle分页语句
- Shiro是怎么集成到你的项目上的
- 知道哪些前端模版引擎
- 你更偏向于前端还是后端
- 你的项目集成了SpringBoot了吗
- 爬虫
- (HR)到毕业之前你会回学校吗、全职、薪资。
10月30:信息科技类
- 自我介绍
- ArrayList、HashMap
- Spring IOC
- 爬虫
- 爬虫策略与反爬技术
- 用过Python来做爬虫吗?
11月2:某大厂
一面:
- 自我介绍
- 画出你第一个项目的界面
- 项目中分页是怎么实现的
- 如果在数据库怎么实现分页的
- 一个算法题:两个有序的数组,将他们合成一个有序的数组。(手写代码)
- 反射,及反射运用在哪里
- 手写单例
- HashMap
- Shiro及单点登录的实现
- Linux命令:查看进程、 用过awk吗,结束进程的命令。
- MyBatis的查询缓存
- 第二个项目的整个流程图(SpringMvc流程)
- get与post的区别
- gc
二面
- http
- 输入 www. baidu.com的流程
- 有两个txt,第一个txt里面有两列 比如:
天天\t10 天下\t5
第二个txt文件:
天天\t5
合成一个txt:
天天\t15 天下\t5
说下你的逻辑、时间复杂度和优化
- 快排、一趟排序的时间复杂度
- 用过哪些Java爬虫框架
- 你有什么问题想问我?
11月9:金融类
- 自我介绍
- 你对哪个项目比较深刻
- 对spring的理解
- StringBuffer与StringBuilder区别
- 对Java反射的理解
- Oracle和MySQL分页
- Oracle游标
- 两道数据库的题目
- MyBatis的sql优化
- 用过Hibernate吗,与MYBatis的区别
- MyBatis中#{}与${}区别
- JDBC连接步骤
- 将Where后面的条件移到Having条件中,对结果有什么影响
- 你项目中用了六表联查,考虑过性能吗?怎么调优?
12月8:某大厂
- ArrayList与LinkedList为什么是线程不安全的?
- MySQL分页
- 代理
- 手写单例
- 理解String a = new String(“xyz”);(JVM)
- gc
- get与post区别
- velocity中的宏
- zk
- 看过jQuery源码?
- byte与char的区别
12月16:外包类
- 自我介绍
- 写了一半的笔试题
- 递归
- linux中的jvm的配置项
- linux中shell删除前一天的日志
- zk的配置
- linux开机自动启动程序的配置
- 你有什么问题想问我的
12月18:SaaS类
一面:
- 自我介绍
- 二叉搜索树
- 快排
- Filter
- 事务、事务的级别
- Java1.8新特性
- Shiro
- https
- 分布式
- JVM
- gc
- 双亲委派机制
- MySQL的B-Tree,PostGreSQL知道吗?
- rbac
- 并发编程
- 知道哪些连接池,C3P0与Druid的区别
- 反爬策略你知道哪些?
- 配置过nginx吗?
- 责任链模式
- Tomcat
- ArrayList与LinkedList区别?
二面
- 100个升序重复数组,找出Top100(优化)
- 一个数组升序重复,找出比6大的第一个数的下标。