腾讯后台开发一面面经
Q:会C++吗?
A :不大会,主要用java。
Q:java我不太熟,那问问非语言的吧。
Q:CAP听过吗?
A:(大概介绍了一下。)
Q:怎么实现主从复制的一致性?
A:没用过,只知道名词和浅显的理论。
Q:这是基础啊。
Q:master故障怎么办?
A:投票解决,一个slave升级为master。
Q:这样数据一致性保证不了啊,怎么办?
A:不懂。
Q:这是后台开发必备的啊。
Q:CAS底层操作系统怎么实现的?
A:是指Linux系统的COMPEXCH吗?不懂。
Q:锁底层操作系统怎么实现的?
A:是指缓存锁定,lock#信号吗?
Q:啥?(没回答,互相听不懂)
Q:操作系统对文件查询?
A:b+树。
Q:怎么从文件路径一步步查询到的?
A:好像是inode(前几天选择题遇到过,记了个名词==),不过,我一般就只会b+树、b树和红黑树的区别和使用场景。
Q:iNode操作系统具体怎么实现的,怎么查询的?
A:==
Q:epoll底层操作系统怎么实现的?
A :==
Q:磁盘故障原因怎么查找和解决?
A:==不会,能举个栗子嘛。
Q:(说了三种可能的情况,记得一个是缓存过大,其他的忘了)
Q:你这基础不行啊,只学框架和调用类库,每个人都会啊。
A:我一般就学到jdk,这么底层的没有接触,Linux就会常用的几个命令(我内心os:你怎么不问jdk、算法、数据结构啊)。
Q:这是基础啊,这是基础啊。。。。(我猜考官内心OS:这都什么选手啊)
面完向考官问这些哪里可以看?
推荐了一本书《Unix网络编程》,望卿有所准备。
------------------更新一个-----------------
Q:两台机子之间会发空包吗?(就是会有空包存在吗?)
A:不会吧,但是有这个名词应该会(哈哈)。
Q:(相视一笑)那是什么时候发空包呢?
A:==。
Q:ack不就是个空包吗?
A:是哦。
Q:要发数据却发了个空包给服务器,服务器怎么处理?
A:不懂。我只会拥塞避免、快恢复、快重传、拥塞避免、几个窗口、vegas、Westwood算法、tcp、udp、这些基本概念。(感觉自己读死书)
Q:==。
已挂勿念。