1 自我介绍
2 Java基础
-
static关键字是用来干什么的,static修饰的方法里面可以使用非静态的成员变量吗,为什么呢
-
private修饰的方法是否可以被子类覆盖
-
覆盖和重载有什么区别
-
进程跟线程的区别
-
Java中创建线程有几种方式
a. 反思:讲完三种方式之后,应该深入对比各种方式的优劣性,拖时间,还显得我有深度,嗯 -
线程有那些状态
-
线程被中断跟被阻塞有什么区别
-
什么是死锁
-
JVM的场景下怎么去发现死锁
-
Java中有哪些集合类
-
如何权衡使用有序数组还是无序数组
a. 有序数组是有查找需求。无序数组主要是插入删除方便。
b. 从时间复杂度角度分析查找效率 -
Java垃圾回收的目的是啥
-
程序中把一个对象的引用直接置为null,会立即触发垃圾回收吗
-
垃圾回收有串行收集器和吞吐量收集器,它们的区别是什么
-
throw和throws有什么区别
-
什么是servlet
-
servlet生命周期有哪些
-
HttpClient的doGet和doPost有什么区别
-
cookie和session的区别
MySQL
开始血崩。。。
-
数据库有哪些范式
a. 不太了解 -
JDBC驱动程序有哪三种方式,注册JDBC那个
a. class.ForName()
b. 另外两种不太记得。。 -
什么是聚集索引,什么是非聚集索引
a. 讲不清 -
主键基本上用mysql自带的自增主键作为索引。为什么要用自增列作为主键
-
drop、trancate、delete(我听成delay了),这三个命令是用来干啥的
a. 没怎么用过。。 -
delete删除的数据,这条数据的存储空间会得到释放吗
a. 应该不会。。 不太清楚 -
联表操作有内连接、外连接、交叉连接、笛卡尔传递(?),这四种方式有什么区别
a. 内连接:显式的使用inner join ,隐式使用where
b. 外连接:左外跟右外
c. 第三个不太了解 -
varchar跟char这两个数据类型有什么区别
a. 首先都是字符串
b. 大小和类型不一样
c. char是255个字节,varchar是65535个字节
d. char定长,varchar不定长 -
表的记录行数会用到count(*)、count(1)、count(column),三种方式有什么区别
-
MySQL会出现一些慢查。首先慢查怎么去发现
a. 没有了解过。。 -
数据库主从复制有了解过吗
a. 没有。。
其他
- 诶。shell你用过吗
a. 有听过没有用过。。。 - 项目开发工具用的是啥
a. IDEA - 有用到Maven吗?Maven打包是怎么打的
a. 不太记得了。。
编程题
-
从一个数组里面删除所有值为a的所有元素。
-
单例模式的实现
a. 写了个懒汉式双重判断
b. 面试官:有别的实现方式吗?别的实现方式还有啥,随便说一下
ⅰ. 其实他想问的应该是饿汉式
反问
- 面试流程,有几轮,分别是什么
a. 两轮技术+一轮HR - 结果什么时候出
a. 看具体情况。我也不知道 - 给我的建议。评价一下今天的表现
a. 基础还可以。有些知识点深度不太够。沟通表达,理解能力还不错 - 贵公司这个岗位看重什么能力
a. 应届生看重潜力,学习能力,学习主动性 - 工作地都在北京对吧
a. 研发岗位主要在北京 - 做什么方向,什么产品
a. 水滴筹、水滴互助、水滴保,三大主要业务线
面试结束
面试总结
- 太惨了,数据库血崩。11个问题我只能回答两三个。。下来要去恶补
- shell没用过,maven的面试题没准备过,垃圾收集器不会,throw和throws混淆,servlet忘了,哎。。
为了要恶补,我网罗了2020年所有大厂的高频面试题及所需要用到的核心知识点,现在也拿出来免费分享给大家,希望大家不要像我一样无头苍蝇乱撞一气!