面试以来遇见的最好的面试官
腾讯tme
记忆写:
1.介绍自己
2.问我会go吗,我说不会,但是有了解gmp模型这些
2.没有让我介绍自己的项目,估计他都见过,所以后面几乎全是一些底层,底层到底层的底层
3.介绍一下编译的过程
4.给你一个编译好的程序,如何判断是否是32位还是64位(回答通过读取elf头)
5.elf头部有什么东西()(回答有对应执行程序的起始地址偏移量,以及记录程序相关信息,乱答的)
6.看你有一个fastdfs文件系统的项目(估计面试官以为我自己写了一个fastdfs系统,我是在这个基础上二次开发呢,因为面试官没让我介绍项目),
给你一个linux文件,一个进程在读取,另一个进程把这个文件删除掉了,请问这个文件会立即删除吗(回答不会)接着问为什么(回答不出来)
7.linux系统有那些文件系统(回答ext4)(此时内心已经开始发抖了)
8.了解linux如何管理对应的文件吗?(???)
9.后面有问了对应的元文件,inode(估计面试官真的以为我写了一个文件系统)
7.malloc的底层原理,(回答最开始空闲链表,后面brk,再后面mmp)
8.什么时候brk,什么时候mmap
9.当一个当我删除其中的内存是会把内存立即删除吗?(???)(回答不会,应该会有一个链表或者把他给收集起来,乱答)
10.三次握手和四次挥手过程(各个状态),为什么要三次和四次?为什么timewait状态?可以没有吗?(这几个问题是觉得最简单的面试题)了
11.如果没有timewait状态会怎么样(回答新的连接介绍旧的包),
12.如果没有timewait状态,还继续发送包,会不会造成什么错误?(???)
13.面试官引导回答12题,tcp中相关状态的标志,(忘完了)
14.epoll底层原理,epoll的水平触发和边缘触发原理,什么时候使用水平,什么时候使用边缘触发
15.网络发送数据的过程,如何从磁盘到发送,操作系统如何合作(回答磁盘->pagecache->用户态-->socket缓冲区,-->网卡)后面发现中间数据包如何封装的过程忘记了,面试官后面提醒了
16.如何实现排行榜(zset),给你一个场景,如何排行榜中的数据过大过多,会产生什么问题(如何解决?)(????)
17.mysql(学c++这方面了解太少了),事务隔离级别,mvcc是什么?,事务?,幻读是什么?,为什么会产生幻读?如何解决?(把人问懵了
)
18.c++如何实现多态,静态多态和动态多态分别介绍,
19.c++重载的底层原理,
19.为什么只需要参数个数和参数类型不同就可以实现多态,不需要返回值不同呢?
20.面试官提示.前面的c++程序编译过程中如何找到对应的函数执行,(回答通过符号表),但是还是没有答出来)
21.后来面试官直接给我解释了,由于对c++函数的名称重整,之前明明复习过这个知识点
22.后面好像是什么子类继承父类,不同的同时都有虚函数,能不能调用什么的,具体记不清了(回答不能,乱答说父类子类各自的虚函数表)
23.内存换出机制和算法,内存不足操作系统会发生什么?还有swap机制这些
24.分配内存会不会立即分配?(回答不会)(往页表哪方面扯,缺页中断哪方面扯,实际使用过程中再分配实际的物理地址,建立虚拟内存到物理内存映射)
25.还有些记不清了
26.最傻的我即将出现,万万不应该的事情
27算法叫我写了一个二分,我二分竟然写的磕磕盼盼,明明之前写了很多遍了估计前面被拷打懵了,结果面试官手把手教我我写二分,面试官也是真的有耐心,是我遇见的最有耐心的面试官,是面试体验最好的面试官(表白
),菜的都有点让我觉得对不起他了
反问:面试官您可以根据我的面试表现给我一些建议吗,面试官说了很多建议(很真诚的建议),说我网络方面还不错(惊讶),底层知识还是非常不错的(惊讶),数据库方面欠缺(mysql学的太少了),场景题回答的不好,思维不够发散,还有算法(二分没有运行出来我羞愧难当),感谢您的引导,给我面试体验很好
秒挂