水滴 Java一面 11.19
面试前在牛客网没有找到面经,现在我来贡献一下吧
背景很嘈杂。。在办公室里面,很多人在说话
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忘了,哎。。