先问了问简历上的内容,然后根据简历上的内容出了两道场景题
场景题1:服务器在使用ptmalloc时出现内存泄露,但在使用tcmalloc时运行正常,请问你该从哪个方面下手排查问题所在?
场景题2:如果你有一个网站,网站所有的代码都是开源的,现在网站内有一个hash函数,攻击者针对这个hash函数不断的发送hash code相同的key,会导致什么后果,如何解决?
问了一下数据库索引的数据结构,回答了B+树和hash表,然后问我还有其他的吗,接着问我知不知道字典树,问我字典树能不能作为索引,然后面试官给我讲了一下字典树作为索引的一个思路
手撕代码部分:
1.给你一个字符串,本来一个字节是8位,但由于我们字典树在比较的时候的一些原因,我们需要在逻辑上将其看成9为,也就是最高位补1,现在让你求这个字符串逻辑上第n位是0还是1.
2.给你两个字符串,同样逻辑上是9位,现在让你返回最长的匹配前缀
二面:
二面也先问了一下简历上的内容
关于设计模式,能不能简单的说一下桥接模式
一个程序,要么用多进程实现,要么用多线程实现,你选择哪一种,为什么?
如果说,每个进程或者是线程都有一个独立的核进行运算,不需要上下文的切换,你会选择哪种模式?
场景题:如果说服务器中出现了大量的close wait状态,请问可能会是什么原因造成的?你会从哪方面进行排查?
手撕代码:
2.讲一下如何实现阻塞队列
三面:
三面问的项目和科研经历比较多一点,这部分就不详细写了
然后问了计算机体系结构,计算机系统相关的内容
手撕代码部分
实现ntol函数
现已入职,内推内推
全部评论
(1) 回帖