2年编译器社招面经—沐曦二面

沐曦二面
前几天面的,今天记录一下
团队技术boss,特别像大学教授,对编译前沿的知识了解非常多,人特别和蔼,学院派的感觉。
1. 介绍项目
2. llvm pass的开发
回答:llvm有一些自有的pass,比如…但是自己没有开发过。
3. 反汇编时jump指令越界处理
语义分析,比如一些下标越界,空指针这种。还有就是一些特殊段比如 stack 之类的有固定的虚拟地址。不然只能运行时报错。(面试官微微一笑,我感觉我答的有点奇怪)
4. 寄存器分配方法
我直接以之前课设浅薄知识回答:待用活跃链表,和基本块栈式组成。其实,应该是use-def链,中科大华保健老师的课我都看完还做了笔记的,我居然忘了,哭辽。
5. 平时调试代码的方法
代码里会写assert输出错误,还有就是gdb --args,b打断点,bt看调用栈这些。(大家有什么好方法可以补充)
6. 手写算法题
k组链表的翻转。
我电脑重刷系统了,只能找了一个在线的C++代码编辑器当场手码。不难,但是老提示越界。当场把链表数据结构,循环输入输出手搓出来调试,发现这鬼玩意儿一写递归函数就提示越界。
(面试官语重心长的说,还是要安装一个ide,比如visual studio好调试。平时一直在服务器上调试,我就直接把本地ide卸了,唉)
7. 个人规划
8. 反问
如何高效学习编译相关知识?入门很难。
面试官:
宏观:5年一个周期,要耐得住寂寞,选择有时候比努力更重要。
具体:follow llvm or其他社区,从文献索引中看自己感兴趣的点切入。

体感:一面面试官偏工程,对技术系列非常了解;二面面试官偏学术,对前沿和基础原理非常了解,面试体验感觉不错。 #编译器# #面经#
全部评论
谢谢大佬的分享,感觉问的还是挺简单的,可能他们更偏向传统编译器一些
1 回复 分享
发布于 04-02 16:10 山西
老哥,一面二面隔了多久
点赞 回复 分享
发布于 2023-07-05 10:57 上海

相关推荐

5 34 评论
分享
牛客网
牛客企业服务