Sealessland logo Sealessland
Interview Prep

面试复习系列总览

这组文章怎么读、每篇解决什么问题,以及写这组内容时我刻意保留的边界。

面试复习系列总览

这组东西先不按教材顺序来,也不想写成那种“看起来很全,其实不好讲”的面试模板。更实际一点的做法还是先抓主线,把自己最容易讲散的几块重新串起来。

我现在复习时最明显的问题不是没见过这些知识点,而是每个点都知道一点,真要开口的时候又接不上。比如 C++ 能说对象模型,也能说智能指针,但一问到资源管理和并发,又容易答成两摊。OS 和 CUDA 也差不多,都是一堆名词在脑子里飘,连不成一个顺的解释。

所以这组文章先只做三条:

  • C++:对象怎么活,资源怎么管,多线程代码为什么会出事。
  • OS:程序怎么变成进程,地址空间和文件描述符分别管什么。
  • CUDA / HPC:线程怎么铺开,数据怎么走,性能到底卡在哪。

这几篇都不会写得特别全,更像是复习时给自己留的“开口版本”。先把最短那条回答链立住,后面再补细节。不然一上来就把所有定义、分类、例外情况全塞进去,最后反而什么都记不住。

现在的顺序大概是先补 OS,再补 C++,最后补 CUDA / HPC。OS 放前面主要是因为很多问题最后都会落到运行时和系统行为上,先把这条线顺下来,后面看 C++ 和并行那部分会更自然一点。

后面如果继续写,大概率也是沿着这个思路拆小一点,比如单独写 fork/execmmapshared_ptr 的代价、还有 occupancy 到底该怎么理解。这些东西平时都见过,但真到面试里其实很容易讲空。