算法工程师-机器学习-数据科学家面试准备[外企和国外公司、春招、秋招]
该仓库记录了如何准备机器学习工程师面试,尤其海外与外企岗位
代码地址: https://github.com/LongxingTan/mle-interview
申请岗位:软件工程师-机器学习方向、机器学习工程师、数据科学家、应用科学家
在线书籍
https://longxingtan.gitbook.io/ml-interview/
- https://github.com/PKUFlyingPig/cs-self-learning
- https://github.com/conanhujinming/comments-for-awesome-courses
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
算法工程师-机器学习-数据科学家面试准备[外企和国外公司、春招、秋招]相关推荐
- 关于”算法工程师/机器学习工程师”的笔试和面试总结
从16年九月份开始,参加了一些公司的算法工程师/机器学习工程师岗位的校园招聘,做一些总结,希望可以给大家准备这个职位提供些信息. 一.需要的基本技能 数据结构知识 掌握一门编程语言,c/c++/Jav ...
- 《百面机器学习算法工程师带你去面试》资料学习
<百面机器学习算法工程师带你去面试>收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景.本书从日常工作.生活中各种有趣的现象出发,不仅囊括了 ...
- 阿里巴巴(菜鸟) - 算法工程师(机器学习)提前批笔试面试总结
前面一直在准备出国留学申请,中间投递了华为.腾讯.阿里三家公司.幸运的是拿到了华为多媒体算法岗, 腾讯机器学习算法岗,阿里巴巴菜鸟物流算法岗.接下来将投入到论文发表.计算机名校申请中. Attenti ...
- 抓取了1400家科技公司的招聘信息,我发现数据工程师比数据科学家更有市场
来源:机器之心本文约2300字,建议阅读6分钟掌握工程技能可能是更重要的. 「作为数据科学家,我还有机会吗?」不,你更应该成为数据工程师. 数据无处不在,而且只会越来越多.在过去的 5-10 年内,数 ...
- 深圳内推 | 腾讯IEG互动娱乐事业群招聘算法工程师、数据研究员(可实习)
合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 腾讯 腾讯互动娱乐已成为全球领先的综合互动娱乐服务品牌,旗下涵盖腾讯游戏. ...
- 关于春招 秋招面试的一些经验
2019 年第 24 篇,总 48 篇文章 本文大约 5000 字,阅读大约需要 15 分钟 周末了,就不写技术了,来聊聊关于春招/秋招面试的事情,刚好最近也是逐渐开始春招找实习或者找工作的时候了,我 ...
- 春招/秋招面试前必看一文。如何找到 BAT 的实习机会。找实习中的一些困惑,如何解决?。浅谈秋招。
春招/秋招面试前必看一文 春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月 ...
- 春招/秋招面试前必看一文
春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月),竞争是相当的激烈,谁做 ...
- Java开发工程师应届生春招秋招总结
Java开发工程师应届生春招秋招总结 本人是本科双非应届生,在秋招的过程有一些小小的心得(包括部分面试题和面试时需要注意的问题),想分享给大家,大佬们勿喷. JAVA开发面试总结 1.首先是穿着,如果 ...
最新文章
- 物联网安全只有最薄弱的环节才有保障
- 有趣的Pycharm第三方模块——为正在学习python的可怜孩子找点乐趣
- DirectX 9高层着色语言介绍3——语言基础(2)
- 为什么要尽量设定一个主键?
- 关于低代码自定义表单的思路和想法
- 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
- Android studio安装及常见问题
- UVALive 4043 Ants
- bzoj 1113: [Poi2008]海报PLA(栈)
- [xsy2282]cake
- 虚拟化存储解决方案需要确定的三件事
- 基于R语言的贝叶斯网络模型、现代贝叶斯统计学方法
- atom markdown转换PDF 解决AssertionError: html-pdf: Failed to load PhantomJS module
- NOIP2016 游记
- SQLSTATE[23000]: Integrity constraint violation:1062 Duplicate entry1664187678631531497821000‘ 解决办法
- css设置单行文本超出部分点点点、多行文本超出部分点点点(两种方法)/解决多行 数字不换行问题。
- 使用CSS实现图片叠加效果
- 数字报刊平台php,现代快报多媒体数字报刊平台
- linux学习笔记-第三课-ls,cd,alias,PASH,目录结构,快捷键
- centos镜像中Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的意思