算法 1小时    判断链表交叉点    为一个类实现拷贝赋值函数    一艘船最多坐两个人或最大重量limit,问装完所有人最少几条船项目 1小时问了所有的项目,其中一个项目也许实习官没有听说过,是一个RTSP流媒体服务器的项目,面试官问了一些关于这个项目的问题,比如RTSP协议的作用,RTSP协议的工作流程,RTSP协议的请求和响应的格式等等。问了为什么要使用epoll,我看到的八股文给面试官说了,但是他好像不太满意,最后问了我是用的水平触发还是边缘触发,我具体说明了原因,最后给面试官解释了RTSP是什么东西。CMU15445中并发B+树的实现方法,并发怎么做,提到悲观锁和乐观锁,问了具体的原理。问和MySql的悲观锁和乐观锁是不是一样的,我说应该是一样的概念。问了是不是手写的,有没有参考代码,我说我参考了非并发的代码。提到b+树实现中最难的是并发和分裂,合并。还有如果数据库宕机了,要怎么恢复,但是他是在问完b+树的问题之后问的,就是说有一些内容在内存中还没有写入到硬盘要怎么办,我说的是在进行事务的时候宕机了怎么恢复。问了一些关于数据库的问题,比如数据库的索引,数据库的事务,数据库的隔离级别等等。问了怎么对锁的依赖图进行构建,怎么进行死锁检测,实现难度在哪里。问了redis和mysql,我说我没有特殊的学习过redis,只知道这是一个缓存,用过它来写一个java课程大作业。问了linux的一些基本命令,问了多线程和多进程的区别,多线程和多进程的优缺点,多线程和多进程的应用场景。我没有看这方面的内容,而且不知道多进程的使用场景,面试官就问我是不是可以用多线程取代多进程,不知道怎么说。问了怎么做IPC,我说用消息队列,共享内存,信号量,socket,kill,还有个pipe没答上来。然后问了操作系统项目的一些问题,问到实现fork的流程,COW是怎么做的,还好我写了实验报告复习了一遍,可以说出来。问了虚拟内存的作用,为什么要用虚拟内存,问了malloc是怎么实现的,我是参考谷歌的tcmalloc,说了个大概。最后问了不了解分布式,一致性的内容,这个是mit6.824的内容,我还没学这个课程,所以也没办法回答。总结太紧张了,算法题写的不是很好,感觉面试官还是对我的项目挺感兴趣的,聊了整一个小时,从面试官的口气感觉得到他对技术很有热情,问到的问题我也能回答个大概。先写这么多吧。
点赞 7
评论 7
全部评论

相关推荐

头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务