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 回复 分享
发布于 2024-04-02 16:10 山西
老哥,一面二面隔了多久
点赞 回复 分享
发布于 2023-07-05 10:57 上海
寄存器分配算法不是图着色吗?感觉和我看的咋不一样
点赞 回复 分享
发布于 2024-11-28 11:54 河南

相关推荐

组内直招,我给自己捞一下实习生联系方式****************************职位描述1、负责机器学习训练和推理系统的研发与性能优化,包括但不限于:超大模型计算性能优化、千卡训练集群调优、分布式推理系统、大规模推理流量调度等;2、负责解决大规模AI系统中高并发、高可靠性、高可扩展性等技术难关,支撑公司内外千万客户流量需求;3、负责大模型训练和推理前瞻性技术架构的调研和引入,技术方案不限于分布式训推系统、子图匹配、编译优化、模型量化等;4、负责异构硬件的引入与训练推理框架的集成,包括但不限于GPU、NPU、TPU等;5、面向全球多地域超大规模GPU算力集群,通过弹性调度、GPU 超卖、任务编排等方式不断提升算力利用率;6、与算法部门深度合作,分析性能瓶颈,通过软硬结合提升模型训推效率,支持AI工具链和技术生态建设,推动公司AI关键业务发展。职位要求1、2026届本科及以上学历在读,计算机、软件工程等相关专业优先;2、熟悉常见的算法、设计模式和数据结构,具备扎实的操作系统、计算机体系结构等知识;3、独立分析问题和解决问题,自我驱动并对过程负责;4、以下条件为加分项:1)能够理解GPU硬件架构,熟悉GPU软件栈(CUDA,cuDNN),具备GPU性能分析的经验;2)参与机器学习系统开源社区项目经验,熟悉机器学习系统各项流程中的工作原理;3)有至少一种大模型训练/推理框架使用经验,包括但不限于:vLLM、TensorRT-LLM、SGLang、Megatron-LM等。
投递抖音信息等公司10个岗位
点赞 评论 收藏
分享
评论
5
34
分享

创作者周榜

更多
牛客网
牛客企业服务