• 校招期间 准备面试算法岗位 该怎么做?


    林花谢了春红,太匆匆。
    一晃眼,竟已到了快毕业的年纪。我经历了一场“漫长”的校招,将回忆总结于此。

    前期积累

    面试是对自己在校生活的总结,要珍惜在校时光:

    1. 确认目标,以后是做开发还是算法?程序员还是PM?
    2. 在目标领域发表顶级会议论文、参与实际项目或实习,提升自己在相应领域的积累 。
    3. 构思好想去的公司或地点,有针对性地准备。提前了解候选公司相关部门的情况,地区性人才补贴政策等。


    基础准备

    这篇推送主要总结算法岗面试的注意事项,分为算法题机器学习两部分

    算法题

    如果打算面外企,必须刷题;国内大厂很可能会问算法题。入门可以看《剑指offer》,练习推荐Leetcode。除了面试需要,我有3个原因推荐多做算法题:

    1. 很多算法题是实际工作中抽象出来的,需要考虑Corner Case,优化复杂度等,有助于提升分析问题的能力。
    2. 快速理解问题,掌握算法设计的流程,能提升自己的逻辑思维能力。
    3. 面试的时候很可能就是全英文的算法题,提前多做对于英文沟通有帮助。
    4. b站刷视频 我一般都是看左程云老师的视频
    5. 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
      ......
      面试时可能会给一个工作场景,让你提模型解决问题。

    个 人 准 备

    工作

    对于简历中提到的论文、项目及实习经历,都要回忆清楚工作背景、模型优点、算法框架以及实现细节。面试中我被问到过自己算法的某一步存了几个状态,有没有用到什么内存优化?所幸面试前每个工作都回忆了一遍,不然可能会漏答。

    公司

    投递简历前,要了解目标公司的政策。

    • 内推:有些公司每个内推人可以免部分候选者的笔试,笔试算法门槛比面试高很多,所以问清楚之后再请人内推。
    • 转岗:校招期间一家公司能投几个组?面试一个组如果觉得不合适,是否能换组?
    • 内情:想去的组能力如何?关系如何?绩效如何?
      许多问题,要投递简历之前问清楚。

    英文

    如果面试外企,需要捡回语感。我遇到过全英文算法面和全英文设计面。算法面其实大家刷题的时候都是英文已经熟悉了,设计面可能会问到你对公司某个产品的感受、建议之类的,所以要做好调研,了解这家公司的产品,避免词穷。

    准备篇就总结到这了。加油复习,自信面试~

    面试,你有哪些难忘经历?准备的妙招?害怕的地方?......欢迎留言评论~

    相关书籍:

     

     

    需要以上书籍可关注下方公众号回复【书籍】 即可货区

  • 相关阅读:
    Java并发-满老师
    分类预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元数据分类预测
    SpringBoot配置文件
    vsftp配置多用户
    SpringBoot JWT
    ~2 ccf 2022-03-1 未初始化警告
    面试系列Spring:Spring的事务传播
    最好的RabbitMQ新手入门学习笔记,我们一起来学习
    安装插件时Vscode XHR Failed 报错ERR_CERT_AUTHORITY_INVALID
    LiveData源码分析
  • 原文地址:https://blog.csdn.net/Trouvailless/article/details/125615101