算法工程师的“三年面试五年模拟”之独孤九剑秘籍(先行版)

0 导读

这是我写在公众号里的一篇文章,在此分享到牛客上,一来是希望能和牛客上的朋友们一起交流学习CV算法以及相应的知识,也欢迎大家关注我的公众号WeThinkIn

1 写在前面


大家好,我是Rocky。

前两天在部门里做知识分享的时候,一个不太面熟的同事一直积极参与,主动提问与我交流。我一询问,原来是新来的实习生,私下里我们相谈甚欢,毕业季他已经找到了offer,但是坦言算法岗越来越卷

我突然想起去年毕业之时,曾想梳理算法岗相关的重点与高价值面试知识点,但彼时尚未进入工业界,对算法乃至AI行业很多维度的认识还有局限,故就此作罢。

此时此刻,我听着工业界前线的炮火声,又重拾了梳理沉淀算法岗"三年面试五年模拟"之独孤九剑秘籍的想法。

我想用接下来一个多月的时间,逐步完成这一想法,而本文则聚焦于我构建算法岗"三年面试五年模拟"之独孤九剑秘籍的一些想法与规划

So,enjoy:

2 干货篇

2.1 目录先行

  1. 算法工程师的技能树
  2. 独孤九剑秘籍内容
  3. 开源迭代计划
  4. 再谈初心

2.2 算法工程师的技能树

既然要沉淀算法岗"三年面试五年模拟"的独孤九剑秘籍,首先要知道的是算法岗要求的技能树以及基本面。

这些技能树与基本面不单单为了应付面试,在平时的工作和学习中,都是有价值的点。

显然,上述技能树中的每个技能点都达到精通是不切实际的,还是要着眼于业务与实际,在做中学,学中做,学中反思,做中总结

比如算法能力和工程能力都是能从书本上,论文中,实际业务中,竞赛中,研究中去迭代成长的;而基本面则比较务虚的,比如我平时可能就比较喜欢和大伙儿唠,从不同岗位甚至不同行业的朋友身上也会得到很多有价值的思考。

2.3 独孤九剑秘籍内容

目前来说,我初步计划将近三年来各个公司面试中的高频知识点进行汇总,并将其归类到独孤九剑框架的各个子分支中。

在后续的独孤九剑内容构建中,我将从工业界实际业务的角度出发,对每个高频面试问题再进行一次筛选,争取沉淀后的面试问题有更多的学习价值,面试准备价值和实际价值

2.4 开源迭代计划

"三年中考五年模拟","三年高考五年模拟"等书的逻辑是我所认可的,"三年面试五年模拟"愿学之。

我计划在接下去的1-2个月中,迭代沉淀"三年面试五年模拟"之独孤九剑秘籍初版内容,并在每年修订一次版本,通过公众号,Github或者pdf等形式呈现给大家,也送给我自己。

在整个迭代过程中,也欢迎感兴趣的朋友踊跃提出自己的想法/建议,一起完善这个program!

2.5 再谈初心

希望在不断的迭代优化下,"三年面试五年模拟"能给在校的,准备转行的,准备换工作的朋友一些帮助与思考。

也希望能通过这个program不断督促自己巩固已有的知识,吸收新的知识,追踪前沿的方向。

我也很希望,这个秘籍能沉淀为一个长期的价值,陪伴我们成长

3 精致的结尾

最后,感谢大家读完这篇文章,希望能给大家带来帮助~后续我就要开始深入撰写构建这个秘籍啦。

#面经##秋招##实习##春招##算法工程师面经#
全部评论
mark
1 回复 分享
发布于 2022-06-14 19:13
mark,楼主加油
点赞 回复 分享
发布于 2022-06-15 10:25

相关推荐

03-23 20:09
已编辑
百度_高级研发工程师
刚面完一把大厂的 AI 核心业务线,遇到个懂行的总监,一直在大模型微调这块给我挖坑,估计想看我是不是那种只会调第三方 API 的“外包型开发”。顺手把面试过程复盘一下,供后端转 AI 方向的兄弟们参考。一、 避坑:千万别在简历上乱吹“全量微调”很多后端兄弟为了简历好看,上来就写自己主导了全量微调(Full Parameter Fine-tuning)。这在懂行的人听来挺扯的,全量微调极其烧钱,动辄几百张 A100 显卡,普通业务线哪来这个算力和预算去给你折腾。面试时我直接兜了底:结合咱们真实的业务场景,我只参与了指令微调(SFT)和参数优化。其实大厂现在勒紧裤腰带,最看重的就是“花小钱办大事”,精准踩中降本增效和 ROI 才是正解。二、 被追问的深水区:怎么防“灾难性遗忘”后来聊到把公司的私有业务数据喂给开源大模型时,总监顺理成章地问到了“灾难性遗忘”——模型学了公司的业务黑话,结果连基础的逻辑推理都不会了。应对这个,我切入了用正则化(Regularization)做权重约束的方案。作为 Java 开发,能把这俩概念用大白话解释清楚,面试官基本就认可你的算法底子了:L1 正则化 (Lasso): 核心在于惩罚项 \lambda \sum |w|。它的特性是会产生稀疏矩阵,能把大模型里很多不重要的特征权重直接清零。我结合了他们公司的端侧场景聊:在智能硬件上部署模型,内存和算力死贵。利用 L1 的稀疏性可以大幅压缩模型体积,在不怎么掉精度的情况下,保住端侧的推理速度。L2 正则化 (Ridge): 核心是 \lambda \sum w^2。它不会把权重变 0,而是让其变得平滑。大模型的底座参数是跑了万亿 Token 炼出来的完美状态,加新知识时,L2 就像个限流器,防止底座权重发生剧烈漂移。这样既吸收了业务知识,又不会过度拟合。三、 找准后端的生态位:不抢算法的活最后面试官试探性地问:“既然算法原理这么熟,那这微调的训练代码是你用 Python 写的吗?”这绝对是个坑。做后端的一定要守住自己的边界,不能瞎揽活,我当时直接拉回 Java 主场:“炼丹跑 PyTorch 脚本主要是算法团队在搞。作为后端,我在微调链路里的核心价值是做‘数据工程化’。大家都知道 Garbage in, Garbage out,微调的上限全看数据质量。我主要用 Java 跑高并发的 ETL 任务,从 MySQL/ES 里把真实的业务日志抽出来,洗掉敏感词和废话,组装成严格的 {"instruction": "...", "input": "...", "output": "..."} 格式。没有后端的这条数据流水线,算法团队连干净的‘饲料’都拿不到。”总结:后端面 AI 岗位,最吃香的画像其实是:懂点算法底层逻辑(知道显存怎么省、遗忘率怎么控),但核心精力全扎在工程落地(清洗海量数据、保障系统并发)上的务实派。希望对大家有帮助。
查看3道真题和解析
点赞 评论 收藏
分享
03-29 15:47
已编辑
郑州大学 Java
面试机会还是那么少,不过也几个推进到了终面,不知道结果如何。星期一某量化(50-100亿)一面1 :上来先一个hot100 的hard2:拷打百度实习3:拷打物联网研究院实习无八股,整体体验非常好,已过星期二拼多多 二面1:询问是否投错岗位2:介绍冯诺依曼体系3:用户态内核态4:进程线程区别5:   进程通信方式6:多线程竞争共享资源怎么办7:http从服务器发送到主机全流程8:socket流程9:IO多路复用10: hashmap的结构11:MySQL索引数据结构12:为什么用B+树13:courrenthashmap原理14:Java对象的生命周期15:有哪些垃圾回收器16:100万个数,内存不足的排序方法算法:两个非hot100的easy整体感觉非常简单,问的比较常规,算法也比较简单,已过星期四某量化(50-100亿)二面1:拷打物联网研究院实习2:最有成就感的事3:实习学到了什么4:拷打百度实习5:短期记忆长期记忆6:什么是记忆涌现面试官有点冷漠哈哈,不知道结果如何蚂蚁一面1:模型微调数据源哪来2:如何部署满血ds3:有没有写过算子优化推理4:整体微调流程5:集群通信如何处理6:如何将模型量化到端侧7:拷打百度实习8:nl2sql的各种场景题9:提示词是什么样比较好10:多agent上下文如何处理11:什么是static12:什么是final13:什么是arraylist和linkedlist14:什么是hashmap15:currenthashmap16:线程池参数17:场景题设计线程池18:1200万数找中位数无手撕,面的很爽,面试官语气很好,我说出解决方案也非常有反馈,问题也不难,希望可以通过星期五拼多多 三面1:拷打百度实习无手撕,聊的比较好,希望可以过更新,星期天接到hr面邀约,星期一hr面总结面试机会太难得了,这周只有三家给了机会面试,其他的好多简历挂了,找实习真的是看运气呀😭😭,感觉有面试是最难的
27届实习投递记录
点赞 评论 收藏
分享
评论
7
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务