由于项目还有个人原因,距上一次更新博客过了很长时间了,秋招季开始,想起来更新一下博客,同时也记录一下面试的经历和感受,后续持续更新。
面试近况
由于疫情的原因,南京江宁这边已经封锁了,在学校里只能一边完成了老板的北向生态的项目,一边忙着秋招。互联网大厂基本上已经都开始了秋招,我也投了很多公司,base基本上在上海,但是也有杭州的;目前阿里已经过了HR面,在等9月正式发offer,字节今天连续2面,明天约了3面,其他公司的进度相对比较慢,像美团我的笔试还没有开始做,每一个公司,不同的部门的面试体验也不尽相同,特此记录一下。
面试记录
我投的主要是后端开发,还有的一些是服务端开发,在没有明确编程语言要求的情况下,项目和OS,计算机网络,数据库就会问的比较多。当像明确了java语言要求的,JVM就会多一些,把今天问到的一些问题记录下。
- 项目相关:
- redis作为缓存,如何使用,数据一致性问题
- 接口设计需要注意的原则
- 操作系统:
- 进程和线程的区别,切换的时候具体步骤,为什么线程的开销更小,知道协程的概念吗
- 虚拟地址的作用,虚拟地址和物理地址的转换,MMU是硬件还是软件
- 有了解的多进程的实例吗 — nginx
- 计算机网络:
- DNS的查询步骤
- TCP,UDP的区别以及应用场景
- TCP三次握手,报文段内容,如何保证可靠性
- 5层模型,7层模型,讲一下数据链路层
- http3的内容,QUIC
- 拥塞控制:如何判断已经拥塞
- Java、JVM:
- map有哪些?哪些是安全的,如何保证,底层实现有什么区别
- 接口和抽象类的区别
- 类加载机制,双亲委派模型
- JMM,volatile关键字(可见性,有序性),如何实现
- 垃圾回收算法,如何判断对象已经死掉
- GC:何时触发,JVM有了垃圾回收机制,还会内存溢出吗
- 算法:
- 一个行列依次递增的二维数组,找target是否存在?从右上角开始往左往下遍历,时间复杂度?O(m+n)
- 给定一个无序数组,如何在O1空间复杂度,On的时间复杂度的情况下,求没有出现的最小的自然数?如{0,1,2,8,6,5} 返回3