当前位置:网站首页>校招期间 准备面试算法岗位 该怎么做?
校招期间 准备面试算法岗位 该怎么做?
2022-07-05 21:05:00 【Trouvailless】
林花谢了春红,太匆匆。
一晃眼,竟已到了快毕业的年纪。我经历了一场“漫长”的校招,将回忆总结于此。
前期积累
面试是对自己在校生活的总结,要珍惜在校时光:
- 确认目标,以后是做开发还是算法?程序员还是PM?
- 在目标领域发表顶级会议论文、参与实际项目或实习,提升自己在相应领域的积累 。
- 构思好想去的公司或地点,有针对性地准备。提前了解候选公司相关部门的情况,地区性人才补贴政策等。
基础准备
这篇推送主要总结算法岗面试的注意事项,分为算法题和机器学习两部分。
算法题
如果打算面外企,必须刷题;国内大厂很可能会问算法题。入门可以看《剑指offer》,练习推荐Leetcode。除了面试需要,我有3个原因推荐多做算法题:
- 很多算法题是实际工作中抽象出来的,需要考虑Corner Case,优化复杂度等,有助于提升分析问题的能力。
- 快速理解问题,掌握算法设计的流程,能提升自己的逻辑思维能力。
- 面试的时候很可能就是全英文的算法题,提前多做对于英文沟通有帮助。
- b站刷视频 我一般都是看左程云老师的视频
- Java数据结构与算法【面试必备 史上最全】学完一脚踢进大厂!_哔哩哔哩_bilibili直接上干货!!俗话说数据结构玩的好 大厂为你敞开门 助你高效准备java数据结构面试顺利拿到offer!, 视频播放量 137、弹幕量 1、点赞数 3、投硬币枚数 2、收藏人数 16、转发人数 0, 视频作者 Java并发编程, 作者简介 添加可领取更多马士兵教学视频、课件、源码以及咨询vip课程最新优惠,相关视频:还在到处寻找Excel函数用法?有这个Excel函数大全就够了,linux内核编程(基础,进阶,高级),深入理解计算机系统,伯克利大学CS61B: Data Structures and Algorithms 数据结构与算法设计 2019年春 中英字幕 001至096,从华为外包到华为正式员工的大数据之路,漫谈几点看法,速学数据结构-栈的原理与实现(Python),51cto风哥oracle云数据库高级工程师,一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解,java学习反射和注解_注解_元注解_尚学堂,【财务分析与建模】01 为什么要建模
https://www.bilibili.com/video/BV1wi4y1U7rD?spm_id_from=333.999.0.0如果之前没有接触过算法题,和我一样不是大神,那么一开始感到吃力是正常的(我曾经被自己的智商气哭了出来)。我们不天资过人,也没有足够多的经验,自然会被打击。一遍不会就多看看再刷一遍,一直思考,慢慢总能会的。
大家可以选自己喜欢的方式做题,我总结了两种模式:
- 滴水穿石
面对每一道题,都思考清楚问题的关键,尝试多种方法解决问题。了解每一种方法的利弊和复杂度,力求最优最简洁地做这道题,这样做完一题基本上就拿下了一类题。这类做法适合于有耐心,探索欲强的人。 - 积水成渊
面对一道题,尽快想到一种做法,半个小时想不出来或者复杂度降不下就去看Discussion,掌握复杂度较优的某种做法,然后接着刷同类题,刷多了自然就能掌握这类题的规律了。这类做法适用于耐心和积累都欠缺的人(比如我)。
这两种方式起初大相径庭,但是做到中期都会趋于用最优解法做完题目。刷题初期可以参考别人优秀的代码,学习Coding风格,比如:变量名的取法,一些常用函数的优美写法等。中期做完题调试到最优之后,要检查自己的代码是否规范,可读性强,优美。刷题大概可以按照三个阶段来:
- 初期
按照Topic刷题,先了解当前topic概念,如背包,搜索等。每个Topic选5-10道题刷,熟悉模式。尽量选点赞多的题目,以Medium为主。实在太受打击,需要重燃希望,可以选1-2道Easy激励自己。刷完一个专题,总结一套自己的模板。要保证遇到Medium几乎没问题,普通Hard能较优解决。 - 中期
随机从题库中Pick题目,或者选高频企业考题刷;每周参加Leetcode周赛或Mock Interview。总结每个Topic的重点题目,选综合性强的刷,或者重新刷之前没有理解透的题目。平时和小伙伴互相模拟面试,缓解不适应感。大部分同学走到这里,校招差不多也结束了。 - 后期
我还没到这个境界QAQ
观察大神大概就是Leetcode Hard 很快有思路,然后调到最优解法。平时在Poj,Kickstart,Codeforces等地练习。(有些公司的笔试,还是需要后期的水平才能通过。所以,足够强大之前尽量找人内推)
机器学习
- 机器学习基础
《统计学习方法》(李航)&《机器学习》(周志华),可根据时间至少选一本阅读。概念要清晰,理解了符号含义后每一个公式都必须要自己推导出来。推荐自己慢推一遍,面试前难点再快推过一遍。
面试中可能会有:
逻辑回归及其推导公式?KNN和K近邻的区别?Bagging和Boosting的概念和设计过程,优缺点分别有哪些?LR和SVM的区别? - 深度学习基础
基本概念要能说明白,比如CNN,RNN的大概结构,梯度反向传播过程等。
推荐搜面经,检查下别人被问到的地方自己能不能答出来。平时自己总结基本知识点。
面试中可能会有:
1.激活函数:为什么需要激活函数?常见激活函数有哪些?它们有什么优缺点?
Sigmoid, Tanh, ReLu, Leaky ReLu, RReLu, PReLu, ELu, SeLu, Maxout 等基本的类型要清楚。
2.梯度消失/爆炸是如何产生?怎么解决?
非饱和的激活函数,LSTM,初始化,Batch Normalization,梯度截断与优化器的选取等关键词要答出。
3.过拟合欠拟合的原因?表现?解决方法?
掌握数据增广,特征工程,正则化,集成学习,Dropout,Early Stopping,加噪声,调整模型容量等常见方法。
4.对于每个领域的常见评测指标,要有所了解。
如:NLP领域的BLEU, NIST, PPL, WER, TER, GLUE, F-SCORE, ROUGE等。
5.了解目标小组的工作方向,阅读几篇他们的或相关方向的论文。 - NLP基础
如果是NLP领域,可以看一下《统计自然语言处理》及近几年每个方向的综述。
如果是北大的同学可以选《计算语言学》 这门课,老师讲解很清晰。面试前课程PPT最好全部回顾一遍,里面很多基础模型容易被问到,如:请介绍下LDA模型?上下文无关文法?等。 - 常见模型&前沿工作
要掌握相关领域的经典模型及近两年比较有影响力的工作。比如NLP领域的:
Word2Vec ( Skip-Gram & CBOW )
Seq2Seq
GAN系列
VAE系列
Tranformer
语言模型:ELMo & Bert & Gpt & XLNet
Capsule Net
Policy Gradient
Active Learning
Transfer Leraning
......
面试时可能会给一个工作场景,让你提模型解决问题。
个 人 准 备
工作
对于简历中提到的论文、项目及实习经历,都要回忆清楚工作背景、模型优点、算法框架以及实现细节。面试中我被问到过自己算法的某一步存了几个状态,有没有用到什么内存优化?所幸面试前每个工作都回忆了一遍,不然可能会漏答。
公司
投递简历前,要了解目标公司的政策。
- 内推:有些公司每个内推人可以免部分候选者的笔试,笔试算法门槛比面试高很多,所以问清楚之后再请人内推。
- 转岗:校招期间一家公司能投几个组?面试一个组如果觉得不合适,是否能换组?
- 内情:想去的组能力如何?关系如何?绩效如何?
许多问题,要投递简历之前问清楚。
英文
如果面试外企,需要捡回语感。我遇到过全英文算法面和全英文设计面。算法面其实大家刷题的时候都是英文已经熟悉了,设计面可能会问到你对公司某个产品的感受、建议之类的,所以要做好调研,了解这家公司的产品,避免词穷。
准备篇就总结到这了。加油复习,自信面试~
面试,你有哪些难忘经历?准备的妙招?害怕的地方?......欢迎留言评论~
相关书籍:
需要以上书籍可关注下方公众号回复【书籍】 即可货区
边栏推荐
- vant 源码解析 event.ts 事件处理 全局函数 addEventListener详解
- php中explode函数存在的陷阱
- MySQL InnoDB架构原理
- Analyze the knowledge transfer and sharing spirit of maker Education
- Talk about my fate with some programming languages
- Introduction to TS, constructor and its this, inheritance, abstract class and interface
- 终端安全能力验证环境搭建和渗透测试记录
- SQL series (basic) - Chapter 2 limiting and sorting data
- Enclosed please find. Net Maui's latest learning resources
- Pytorch实战——MNIST数据集手写数字识别
猜你喜欢
基于AVFoundation实现视频录制的两种方式
木板ISO 5660-1 热量释放速率摸底测试
R语言【数据管理】
Write an interface based on flask
Enclosed please find. Net Maui's latest learning resources
显示屏DIN 4102-1 Class B1防火测试要求
【案例】元素的显示与隐藏的运用--元素遮罩
Pytoch practice -- MNIST dataset handwritten digit recognition
Influence of oscilloscope probe on measurement bandwidth
Abnova CRISPR spcas9 polyclonal antibody protocol
随机推荐
postgres 建立连接并删除记录
Phpstudy Xiaopi's MySQL Click to start and quickly flash back. It has been solved
CareerCup它1.8 串移包括问题
PVC plastic sheets BS 476-6 determination of flame propagation properties
Determine the best implementation of horizontal and vertical screens
MySQL fully parses json/ arrays
Generics of TS
示波器探头对测量带宽的影响
The reason why the ncnn converted model on raspberry pie 4B always crashes when called
ts 之 属性的修饰符public、private、protect
LeetCode_ Hash table_ Difficulties_ 149. Maximum number of points on the line
SQL series (basic) - Chapter 2 limiting and sorting data
MySQL ifnull usage function
leetcode:1139. The largest square bounded by 1
Five layer network protocol
2. < tag hash table, string> supplement: Sword finger offer 50 The first character DBC that appears only once
Clion-MinGW编译后的exe文件添加ico图标
Interpreting the daily application functions of cooperative robots
从架构上详解技术(SLB,Redis,Mysql,Kafka,Clickhouse)的各类热点问题
When a user logs in, there is often a real-time drop-down box. For example, entering an email will @qq com,@163. com,@sohu. com