百度提前批 一面面经
面试1个多小时,感觉全程在用collabedit写代码,也没有个语法提示,记事本编程体验感,平时idea自动补全用太多,脑子一抽synchronized和printStackTrace忘记怎么拼写了,好尬啊;
1.自我介绍,为什么从化学转行到计算机,计算机基础课有学过吗,主要学的是java吗
2.java从代码到运行的过程是什么,为什么java要用虚拟机,java代码不用虚拟机可以运行吗
3.JVM内存分区有什么,堆栈都是干啥的,什么叫本地方法栈
4.GC是什么,为什么要回收垃圾,了解那种垃圾收集器,讲讲G1收集器,GCroot是什么,GCroot的起点和终点在哪,G1的,垃圾回收方法和CMS有什么区别,还了解除G1,CMS之外其他垃圾收集器吗
5.volatile作用是什么,什么是可见性,为什么能保证可见性,总得有个地方让它来执行保证可见性的操作,是哪里
6.什么是jvm重排,jvm为什么会输出混乱
7.做题:
知道是生产者消费者模式是什么意思么,写一段生产者消费者模式代码,写完让讲了一下思路,wait之后怎么唤醒,什么时候唤醒
8.为什么MongoDB批量操作数据效率比MySQL高,缺点是什么
9.MySQL怎么优化,怎么添加索引,为什么索引会提高查询效率,B+树优点是什么
10.Paxos算法了解吗,是干嘛的,仅仅是为了保证选leader吗
11.Netty的NIO有什么好处,为什么让线程阻塞不好
12.数据结构学过么,做题:
二叉树层序遍历,讲思路,做题
13.再做一道:
给定数组和目标数target,数组元素可无限制重复选取,找出所有和为target的组合,讲思路,做题
#百度#