大华一面面经 Java开发 7月31日 周六下午4:45
-
先做一下自我介绍,然后说:那就开始问Java基础了
-
你常用的集合有哪些?
-
List是线程安全的吗?ArrayList和LinkedList是,Vector不是(我就不该说,问这个Vector扯出了一堆问题)
-
那Vector是通过什么来实现线程安全的?synchronized
-
HashMap底层原理是什么?
-
你说HashMap是线程不安全的,那如果你需要线程安全的话会怎么做?(ConcurrentHashMap)
-
ConcurrentHashMap是怎么实现线程安全的(通过锁?面试官无语:实现线程安全都需要锁,具体是什么?不知道)
-
那你说一下ConcurrentHashMap的底层原理。(不会啊!哭了)
-
你刚刚提到了synchronized,除了这个还有什么能保证线程安全的办法?(忘了,只说了lock和unlock方法)
-
那它是可重入锁吗
-
可重入锁是什么知道吗
-
synchronized是可重入锁吗?
-
出一个场景题——一个类中定义了两个方法,都由synchronized修饰,调用这两个方***出现锁的抢夺问题吗?(都没听懂是啥意思,猜了一下说:不会出现
-
sleep()和wait()的区别
-
说一下线程池的参数以及每一个代表的意思(说了七个参数,新建一个线程说的有点问题,他问我这和空闲时间有关系吗?我说我可能理解错误了)
-
Mysql了解是吧?说一下MySQL索引有哪几种(唯一索引、主键索引、复合索引、普通索引。没了吗?我说我不知道了)
-
MySQL索引失效的情况有哪些(模糊查询%开头、where语句出现运算和函数、or。。。面试官:为什么以%开头会出现索引失效呢?不知道)
-
那你说一下MySQL默认的存储引擎是什么?
-
InnoDB底层是什么(我说聚簇索引,他说这不是底层数据结构,数据结构是数组、链表那些)
-
MySQL默认的隔离级别是什么?(哭了,这个地方开始揪着问了好几个问题)
-
你举一个可重复的例子,或者你解释一下啥是可重复读(一个事务执行过程中看到的数据总是和事务启动时看到的数据是一致的。在这个级别下事务未提交,做出的变更其它事务也看不到。
-
这个和读已提交有什么区别吗?
-
那你说一下可重复的可能会出现的问题(幻读)
-
举一个幻读的例子(我真不知道)
-
Linux命令知道吧,怎么移动一个文件(mv)
怎么重命名一个文件
怎么创建一个新的文件
怎么查看文件内容
刚刚的tail和cat有什么区别?
怎么修改文件的权限(忘记了,应该是chmod)
查看系统内存(不会,应该是free)
一共面试半个小时。
全部评论
(13) 回帖