1、有序数组排序,二分,复杂度
2、快排的时间复杂度,冒泡时间复杂度,快排是否稳定,快排的过程
3、有N个节点的满二叉树的高度。1+logN
4、朋友之间的点对点关系用图维护,怎么判断两人是否是朋友,并查集,时间复杂度,过程。
5、单元点最短路的方法,时间复杂度
6、如何实现关键字输入提示,使用字典树,复杂度多少,有没有其他方案,答哈希,如果是中文呢,分词后建立字典树?
7、hashmap的实现讲一下吧,讲的很详细了。讲一下红黑树的结构,查询性能等。
8、Java中的垃圾回收讲一下,讲了分代,gc算法,gc root可达性分析等
9、讲一下两个项目你都做了什么吧。
10、除了代码之外你还学习了什么技术,框架。
11、死锁是怎么产生的
12、线程和进程的区别
13、进程的通信方式
14、CPU的执行方式
15、代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。通过ps查询状态,分析dump文件等方式排查。
16、Linux了解么,查看进程状态ps,查看cpu状态 top。查看占用端口的进程号netstat grep
17、10g文件,只有2g内存,怎么查找文件中指定的字符串出现位置。MapReduce分割文件处理
18、100w个数,怎么找到前1000个最大的,堆排序,怎么构造,怎么调整,时间复杂度。
19、一个矩阵,从左上角到右下角,每个位置有一个权值。可以上下左右走,到达右下角的路径权值最小怎么走。
20、四辆小车,每辆车加满油可以走一公里,问怎么能让一辆小车走最远。说了好几种方案,面试官引导我优化了一下,但是还是不满意,最后他说跳过。
21、秒杀系统的架构设计
22、MySQL的索引,B+树性质。
23、Linux的cpu 100怎么排查,top jstack,日志,gui工具
24、Linux大文件怎么查某一行的内容。
25、Redis内存数据库的内存指的是共享内存么
26、Redis的持久化方式
27、hashmap的实现,hashtable,concurrenthashmap实现。
28、hashMap和ConcurrentHashMap的区别
29、hashMap内部具体如何实现的
30、如果hashMap的key是一个自定义的类,怎么办
31、为什么重写equals还要重写hashcode
32、ArrayList和LinkedList的区别,如果一直在list的尾部添加元素,用哪个效率高?
33、介绍一下Syncronized锁。如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?
34、介绍一下volatile
35、多线程中的i++线程安全吗?为什么?
36、如何线程安全的实现一个计数器?
37、讲一下TCP的连接和释放连接。
38、讲一下浏览器从接收到一个URL到最后展示出页面,经历了哪些过程。
39、TCP和UDP的区别,具体使用场景呢。
40、TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办。
41、对于socket编程,accept方法是干什么的,在三次握手中属于第几次,可以猜一下,为什么这么觉得
42、Redis和MySQL有什么区别,用于什么场景
43、JDK 和 JRE 有什么区别?
44、== 和 equals 的区别是什么?
45、两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
46、final 在 java 中有什么作用?
47、接口和抽象类有什么区别?
48、BIO、NIO、AIO 有什么区别?
49、如何决定使用 HashMap 还是 TreeMap?
47、线程和进程的区别?
48、创建线程有哪几种方式?
49、线程有哪些状态?
50、sleep() 和 wait() 有什么区别?
51、notify()和 notifyAll()有什么区别?
52、创建线程池有哪几种方式?
53、什么是死锁?怎么防止死锁?
54、如何避免 sql 注入?
55、什么是 XSS 攻击,如何避免?
来源:oschina
链接:https://my.oschina.net/u/4352263/blog/4171229