一面(各种算法)
说一下二叉树,满二叉树, bst avl b+树b树,红黑树的区别
说一下数组链表哈希表的使用场景,时间复杂度,优劣
说一下操作系统用户态和内核态
说一下操作系统虚拟内存
说一下Linux fork()系统调用的过程,要求讲到内存过程
说一下Linux无名管道命名管道的内存过程,底层原理
无名管道产生的过程,原理
Java说出你知道创建字符串的方式,比较性能优劣
说一下jvm线程调度过程, 什么情况会发生抢占
说一下线程通过继承thread和实现runable接口实现的线程,底层有什么区别
说一下cookie和session的区别场景的选择
cookie跨域
说一下xss攻击
算法:
一个长度大小为n的数组,数组中的每个元素的取值范围在[1,n],且为正整数。问:如何在时间复杂度为O(n),空间复杂度为O(1)的条件下,统计数组中不同元素出现的次数。
二面(90分钟超长拉锯战)
说一下Java内存模型
Java内存交互操作
如何保证数据一致性?
volatile如何保证数据一致性?
valatile的变量两个线程一起操作会发生什么? 联系对象头。
Intel cpu的数据一致性协议是如何保证数据一 致性的?
为什么要有高速缓存,存器,内存?
高速缓存的作用?
寄存器发生了什么?
操作系统系统的读者写者问题? (怼了15分钟)读会发生什么,多个线程读怎么样,如果有线程要写,如何保证写线程不被饿死?
地址空间分配的时机?
操作系统内存管理?
什么时候进行地址空间分配?
函数调用局部变量?内存分配发生了什么?
如果向操作系统请求一个4g的连续空间会分配吗?过程?
数据库如何保证数据一致性, 如何解决?
redis分布式锁?
B树和B+树的区别性?
innodb索弓|原理?
myisam的索引|原理?
为什么myisam支持压缩表?
myisam索弓|的组织方式?
稠密索引是个啥?
最左前缀使用:
以下哪个能用索引(列了四个说说为什么)
说一下icmp用来干嘛?
ping原理,ping- 个地址,通了会怎么样,不通会怎么样(现象)
算法
相交链表多种解法如何优化?
bst的第k个节点?中序遍历。
最长无重复子串?如何记忆优化,写一下后面用hashset。写了面试官不满意,问我你不是说要用hashmap优化吗……
看着面试官的笑容逐渐消失,感觉不太行了,被面试官用算法一点点抹杀,头条面试靠算法,果然没错。
base深圳,上周日面完今天还没有结果 ,估计是凉凉了。