该仓库记录了如何准备机器学习工程师面试,尤其海外与外企岗位

  • 代码地址: https://github.com/LongxingTan/mle-interview

  • 申请岗位:软件工程师-机器学习方向、机器学习工程师、数据科学家、应用科学家

  • 在线书籍

https://longxingtan.gitbook.io/ml-interview/

CS自学指南

Leetcode

刷题策略

时间有限的前提下,精刷大于泛刷

  • 阶段1: 初步掌握考察的常见数据结构和算法,尤其是常见类型的模版
  • 阶段2: 拿到问题,首先从解决问题角度入手,然后从模板中提供线索。模版的基础上,不断强化练习。按tag刷题
  • 阶段3: 真正融会贯通,结合问题交流、复杂度分析、头脑测试,刷题量达到满意要求
  • 面试前,针对面试公司的tag或面经进行重点练习

面试

机器学习方向主要使用python,因此以python为刷题语言

  • 先明确自己理解题意,不明白的地方一定问清楚。通过写几个test case,确保涵盖所有情况。并确认输入输出的类型和边界
  • 开始想人是如何做这个任务的。没有思路时,想想更简单、数量更少时如何处理
  • 转化为代码,用什么数据结构,什么算法。讲思路的时候,一定说清楚为什么选择这个数据结构,并结合有代表性的test case讲
  • 写完代码后,进行test的过程
  • 给出复杂度分析

参考

  • https://zhuanlan.zhihu.com/p/349940945

学习资料

基础

  • Introduction to Computer Science - Harvard CS50x
  • Structure and Interpretation of Computer Programs - UC Berkeley CS 61A
  • How to Design Programs
  • 深入理解计算机系统 - CSAPP
  • The Art of Computer Programming - TAOCP
  • 代码大全
  • UNIX 编程艺术
  • 重构:改善既有代码的设计

数据结构和算法

  • 数据结构- 学堂在线 - 邓俊辉
  • 算法 - Stanford
  • Algorithms
  • 算法导论 - CLRS

操作系统

  • Operating Systems and System Programming - UC Berkeley CS 162
  • Operating System Engineering - MIT 6.828
  • 编码:隐匿在计算机软硬件背后的语言
  • 计算机系统要素
  • 计算机组成与设计
  • Operating Systems: Principles and Practice
  • Operating Systems: Three Easy Pieces
  • Operating System Concepts

Web开发与系统设计

  • Introduction to Computer Networking - Stanford

分布式

  • Distributed Systems - MIT 6.824
  • Talent Plan | PingCAP University
  • 数据密集型应用系统设计

机器学习

  • 常见模型的原理和局限
  • 手写基础算法
    • 写实现两层fully connected网络
    • 手写CNN
    • 手写KNN
    • 手写K-means
    • 手写softmax的backpropagation
    • 手写AUC
    • 手写SGD
  • 延伸
    • 给一个LSTM network的结构,计算how many parameters
    • convolution layer的output size怎么算? 写出公式
    • 设计一个sparse matrix (包括加减乘等运算)
  • 八股文
    • 怎么解决nn的overfitting/underfitting
    • 优化器,如何选择优化器
    • 数据收集
    • 模型选择
    • 推荐,scale\abtesting\trouble shooting

System design

Reference

  • CMU 15213
  • MIT 6.824
  • DDIA

行为面试 Behavior question

面试考察的不单是技术能力,更是考察是否是未来值得合作的同事。行为面试不可小觑,甚至更多时候软实力都是更重要的能力,因此面试时有针对的准备是非常非常有必要的。

基本态度

  • 说话自信大气,眼睛和肢体不要有多余的动作,professional, 有Leader该有的样子。而且不要我,是你们的损失,有这种气魄,但不要因此傲气
  • 正常的面试官,其实也就是我们身边的人,是和我们谈笑风生的一样,不要有负担
  • 注重记录和录音
  • 注意面试官问题,他想要的答案是什么,一些关键字是什么. 不会的问题,也把能想到和思考的呈现出来即可,relax
  • 任何开放问题,LC或ML,都从最简单开始
  • 适当掌握主动,整体诚信
  • 总是从大的框架入手讲解,横向多对比,纵向如何深入优化
  • 主要发offer之前表现出对加入公司浓浓的兴趣
  • 有些问题,可以多要点时间想想 不要乱说。框架性思考,分点阐述。不必着急回答

常见问题

背后都对应着leadership principles

  • conflicts with manager/跟老板同事如何处理冲突,

  • challenging project

  • think differently

  • simple solution to solve a problem

  • tight deadline

  • 怎么带队

  • 怎么plan项目

  • advocate myself的经历

  • deal with 不配合的同事

  • 怎么让团队保持innovative

  • 怎么说服别人同意你的意见
    首先划定几个禁区,

    • 不要以自己的身份和地位去压别人,而是摆事实 讲道理
    • 就事论事,不要上升到人
    • 意识到自己的错误了 及时承认
  • describe a situation where you decided to step in to help a friend/teammate

  • describe a situation where you explore a new area

  • 怎么给一个完全没有ML背景的客户介绍相关技术概念

  • 跳槽原因

    • 提升技术深度和广度

Project

  • 里面的细节
  • 是否有不足之处,怎么改善/或现在让你重新来做,会如何改善

STAR

  • situation
  • task
  • action
  • results

算法工程师-机器学习-数据科学家面试准备[外企和国外公司、春招、秋招]相关推荐

  1. 关于”算法工程师/机器学习工程师”的笔试和面试总结

    从16年九月份开始,参加了一些公司的算法工程师/机器学习工程师岗位的校园招聘,做一些总结,希望可以给大家准备这个职位提供些信息. 一.需要的基本技能 数据结构知识 掌握一门编程语言,c/c++/Jav ...

  2. 《百面机器学习算法工程师带你去面试》资料学习

    <百面机器学习算法工程师带你去面试>收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景.本书从日常工作.生活中各种有趣的现象出发,不仅囊括了 ...

  3. 阿里巴巴(菜鸟) - 算法工程师(机器学习)提前批笔试面试总结

    前面一直在准备出国留学申请,中间投递了华为.腾讯.阿里三家公司.幸运的是拿到了华为多媒体算法岗, 腾讯机器学习算法岗,阿里巴巴菜鸟物流算法岗.接下来将投入到论文发表.计算机名校申请中. Attenti ...

  4. 抓取了1400家科技公司的招聘信息,我发现数据工程师比数据科学家更有市场

    来源:机器之心本文约2300字,建议阅读6分钟掌握工程技能可能是更重要的. 「作为数据科学家,我还有机会吗?」不,你更应该成为数据工程师. 数据无处不在,而且只会越来越多.在过去的 5-10 年内,数 ...

  5. 深圳内推 | 腾讯IEG互动娱乐事业群招聘算法工程师、数据研究员(可实习)

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 腾讯 腾讯互动娱乐已成为全球领先的综合互动娱乐服务品牌,旗下涵盖腾讯游戏. ...

  6. 关于春招 秋招面试的一些经验

    2019 年第 24 篇,总 48 篇文章 本文大约 5000 字,阅读大约需要 15 分钟 周末了,就不写技术了,来聊聊关于春招/秋招面试的事情,刚好最近也是逐渐开始春招找实习或者找工作的时候了,我 ...

  7. 春招/秋招面试前必看一文。如何找到 BAT 的实习机会。找实习中的一些困惑,如何解决?。浅谈秋招。

    春招/秋招面试前必看一文 春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月 ...

  8. 春招/秋招面试前必看一文

    春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月),竞争是相当的激烈,谁做 ...

  9. Java开发工程师应届生春招秋招总结

    Java开发工程师应届生春招秋招总结 本人是本科双非应届生,在秋招的过程有一些小小的心得(包括部分面试题和面试时需要注意的问题),想分享给大家,大佬们勿喷. JAVA开发面试总结 1.首先是穿着,如果 ...

最新文章

  1. 物联网安全只有最薄弱的环节才有保障
  2. 有趣的Pycharm第三方模块——为正在学习python的可怜孩子找点乐趣
  3. DirectX 9高层着色语言介绍3——语言基础(2)
  4. 为什么要尽量设定一个主键?
  5. 关于低代码自定义表单的思路和想法
  6. 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
  7. Android studio安装及常见问题
  8. UVALive 4043 Ants
  9. bzoj 1113: [Poi2008]海报PLA(栈)
  10. [xsy2282]cake
  11. 虚拟化存储解决方案需要确定的三件事
  12. 基于R语言的贝叶斯网络模型、现代贝叶斯统计学方法
  13. atom markdown转换PDF 解决AssertionError: html-pdf: Failed to load PhantomJS module
  14. NOIP2016 游记
  15. SQLSTATE[23000]: Integrity constraint violation:1062 Duplicate entry1664187678631531497821000‘ 解决办法
  16. css设置单行文本超出部分点点点、多行文本超出部分点点点(两种方法)/解决多行 数字不换行问题。
  17. 使用CSS实现图片叠加效果
  18. 数字报刊平台php,现代快报多媒体数字报刊平台
  19. linux学习笔记-第三课-ls,cd,alias,PASH,目录结构,快捷键
  20. centos镜像中Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的意思

热门文章

  1. LoadRunner使用手册
  2. Android-绝对音量和相对音量设置
  3. BERT与知识图谱的结合——ERNIE模型浅析
  4. 步进电机基础(6.2)-步进电机的特性测量方法-动态特性的测量法和步距角度精度的测量
  5. Boundary Loss 原理与代码解析
  6. 第七届蓝桥杯有奖竞猜 JAVA
  7. 如何将自己的网页上传让别人都可以搜索到,如何建站
  8. 为什么学编程?如何学习编程?
  9. 方克鼓校总部加盟政策
  10. 浅谈未来的人工智能与奇点临近