阿里cto线一面 (75分钟八股+40分钟做题)
1. 操作系统里面int、long占多少字节
2. 浮点数0.3能精确表达吗
3. 有没有简易的方式判断浮点数能不能精确表达(不会)
4. linux进程调度算法
5. 展开说说多级反馈队列
6. 多级反馈队列级数、每个队列执行时间有无讲究(不会)
7. linux内存分配算法
8. 伙伴系统怎么解决连续多块大内存的分配(没懂面试官意思)
9. tcp三次握手(开始吟唱)
10. tcp序列号为什么要随机生成
11. 为什么随机生成会避免历史连接
12. 如何防范洪范攻击(不会)
13. tcp如何保证可靠性
14. 序列号如何解决丢包的问题
15. 每次客户端发送一个tcp包,客户端都会回一个ack吗
16. 每一次客户端发送一个tcp包,服务端都会刷新定时器吗
17. 客户端服务端的窗口是怎么设定的,服务端假设能力比较强,窗口会大一些,客户端能力比较弱,窗口会小一些吗
18. 刚开始窗口大小是固定的吗,然后后面再去协商,设置为多少
19. 假设服务端接受能力强,窗口大小能接收一万个包,那客户端窗口大小也会扩大到一万吗
20. 客户端如何判断网络状况的好坏
21. 客户端的流量控制
22. java集合类型
23. arraylist和linkedlist区别
24. 分别分析一下插入、删除、查找的时间复杂度
25. arraylist对大片的连续内存有很高要求,linkedlist只需要碎片空间,为什么平时都用arraylist(给自己挖坑了)
26. arraylist分配时可能会产生gc,linkedlist不一定会,为什么也用arraylist
27. arraylist扩容机制
28. 平时使用hashmap要关注那些方面的东西
29. 链表具体什么时候需要转换成红黑树
30. 为什么链表大小超过8要转换成红黑树
31. 为什么是8,能分析一下吗(不会)
32. reentrantlock可重入的意思
33. java里面有不可重入的锁吗
34. 什么是公平锁、非公平锁
35. 非公平锁会导致有线程长时间阻塞,java里面有机制保证线程不会长时间阻塞吗
36. 多个线程对多个资源同时操作,会导致什么问题
37. 在java里面,有哪些机制保证原子性、可见性、有序性
38. 如何解决死锁
39. 如何评估哪些线程去释放掉资源、如何释放
40. 做题1:两个线程**交替**输出a、b
41. 做题2:输入一个数字,输出其二进制字符串表示
42. 平时怎么学技术
43. 反问