字节凉经
主攻java,简历无任何跟c/c++有关的东西。所以读这么多书有什么用?一个不考。
一面
进程线程的区别
怎么实现共享变量
锁有哪些?自旋一般总在哪里
堆栈增长方向
函数调用发生了什么
进程切换都会做什么事?PCB记录现场,还有吗?
数据段和代码段怎么划分
TCP三次握手
HTTPS CA认证
三次握手后还是非对称加密吗?
网页写快排(对着代码讲解,然后分析每段的时间复杂度)
分段式内存管理
怎么设计动态内存分配
虚拟地址和物理地址
堆和栈的区别
malloc了解吗?只在C中用过,知道从堆中申请空间,并返回首地址。
二面(凉面)
二叉树镜像(问复杂度)
两个无序数组合并,只考虑时间复杂度(桶排序,写出来了,问有负数怎么办?回答再维护一个数组存储负数,拼接的时候先拼正数再拼负数)
船过河,一次满油只能到对岸,至少几艘船能保证全部回来。(提了二分进近,说很接近了。扯分治啥的,最后还是不行,换题了)
函数栈帧怎么开启的,怎么到cpu执行的。
从硬件层面来解释,代码怎么编译到运行的(扯了点gcc -i gcc -E 链接库函数……然后回答是不够,代码从编译到运行,装载上CPU执行,内容是庞大复杂的,没这么简单。所以说不简单你还来为难我……)
多线程竞争怎么处理?从硬件角度来回答(由java延伸到Monitor,由CAS延伸到lock指令,感觉不够?但我只是活在JVM里的小丑啊……)
还有更多的底层知识,被吊打到失忆了……就酱。考研去了,晚安世界,心里没有一点波动