当前位置: 首页 > 面试经验 >

广州天游网络C++开发一面

优质
小牛编辑
97浏览
2023-05-07

广州天游网络C++开发一面

有技术问题也有综合问题,问题方向比较全面。

  1. 自我介绍。
  2. 本科学习的什么专业,毕设是否跟计算机有关系,从什么时候开始决定转向计算机方向学习?
  3. 为什么没有决定转专业进行学习?
  4. 注意到你参加了很多计算机相关的比赛,你是为什么决定参加这些竞赛的?
  5. 参加比赛对你最大的收获是什么?
  6. 在自学过程中,你主要上过哪些公开课、看过哪些书籍资料?
  7. 看你简历上写了xv6-riscv这个项目,当时为什么选择了这个项目?
  8. 大概讲解一下在这个项目中做的工作。(主要介绍了xv6整套中断处理流程,如何实现一个COW特性的fork(),如何实现用户级线程的上下文切换和创建,如何使用pthread中提供的互斥锁保护临界区以及使用条件变量实现一个barrier(),如何优化xv6内存分配使得锁的竞争减少提高内存分配时的效率,如何优化磁盘块缓冲区提高并行度,如何更改文件系统以增加文件的最大大小并实现符号链接。)
  9. 这些做的Lab中你觉得最难的是哪个?(答了代码难度都不是很大,主要功夫花费在阅读xv6手册和源码来理清执行流程,然后举了一个当时做Lab cow时遇到的一个bug,在通过了实验提供的测试数据的情况下,运行usertests检查xv6各个部分是否仍然正常运行时,在一个测试点处xv6表现的就像是死机了,然后gdb调试了也没找出问题所在,后来在重理代码的过程中才发现是因为假如进程写一个只读页面的时候中断处理函数返回值应该是非0值,但是在cow中断处理函数中因为逻辑没有理清,导致在进程尝试写只读页面的时候,中断处理程序会返回0,代表中断成功处理,进程不会被kill掉,于是进程会再次尝试执行之前产生中断的指令,然后还是会再次尝试写这个只读页面,从而再次产生中断,程序一直在尝试执行和中断处理之间来回切换,造成死机的表现。)
  10. 看到你的专业技能里写了CUDA编程,当时为什么想要学CUDA?(为了了解高性能计算,去学了一些CUDA编程。)
  11. 在你大学期间,对你来说最有挑战性或成就感的事情是什么?
  12. 你在队伍中主要负责哪些方面的知识点?
  13. 你们平时练习题目主要是在哪些平台练习?(答了洛谷,AcWing,牛客。)
  14. 之前有去找过实习么?
  15. 考研考的专业是什么,报考的哪所学校,为什么不考虑本校?
  16. 看你还学了日语和德语,学习语言的动机是什么?
  17. 你目前对自己未来的职业规划是什么?
  18. 之前是否有编写过网络应用?(答了使用socket接口编写了一些简单的网络应用,实现客户端和服务器的通信,代码主要来自书籍上的示例代码。)
  19. 看了一下你的GitHub仓库除了这个项目还有两个仓库,能否介绍一下这两个仓库都是什么内容?(一个CS144的Lab还没开始做,一个当时备赛时准备的一些代码模板。)
  20. 反问环节。

总结:

面试官比较和善,面试问题范围较广,压力不是很大,面试感觉比较舒畅,应该是主要以全面了解应聘者为主,不只专注技术问题。

 类似资料: