算法面试和实习经验分享
本人是2018届,去年实习拿了阿里算法工程师offer,最终顺利转正,也是看了师兄师姐的经验,饮水思源,于是将自己的总结一份,希望能够帮到师弟师妹。
1. 学习准备
What you want?
想清楚自己要做什么?
- Follow自己的兴趣方向 OR 现在什么挣钱最多?
- 算法对理论和最新paper的学习,而且是长期的,能否承受。
- 算法各大公司HC是最少的,而竞争人数在爆炸增长。
理论基础
- 基本的算法理论,分类、聚类、优化算法、深度学习······,可以看看《统计学习方法》,吴恩达的公开课,李宏毅深度学习课程。。。
- 算法的数学推导,如GBDT等。
- 自己的理解,应用之后的一些看法,如优缺点,应用场景。
编程
刷题,剑指offer,Leetcode,自己动手实现一遍。
语言最好熟悉Java或者C++,Python和SQL要熟练,处理数据和特征工程很重要。
深度学习框架,TensorFlow应用比较广泛,阿里实习时ODPS里面都可以用,PyTorch学术界应用也挺广泛。
实际项目
导师的项目,做的有多深入,理解是否到位,用的方法是否follow最新的paper。
是否发过文章,发在哪一类期刊上面。
比赛项目
比赛赛题的理解。
名次,越靠前越好,拿奖最好。
比赛中承担什么角色,做了哪些工作,自己是否还有能够提高的地方。
总结自己整个过程,做了哪些,为什么要那么做,目前最新的方法是怎么做的。
2. 面试经历
简历
- **简洁:**不要超过一页*3,简明写出自己的match的经历,面试的时候再详细聊。
- 奖励:一定要是与职位match的,技术的就不要写学生会、各种水奖励。
面试心得
简单自我介绍,一分钟之内,准备好措辞。
面试时候尽量别紧张,没什么大不了,心态稳一点。
说话之前想好再说,思路要清晰,最好有个草稿纸写写画画。
面试官的问题,一定要问清楚再回答,面对不会的问题,不要说不会,要与多沟通讨论这个问题的解决路径,你困惑的地方,他会给你一些提示。如果实在是完全不会,也可以说没有学过,下去了解下。
如果感觉挂了,面试之后问问面试官,自己哪里还需要加强学习的地方。
HR面不要大意,很多HR都是做技术出身的,实力也很强,即使她不懂技术,表现也要谦卑。
面试问题
阿里投了菜鸟,两轮挂掉,然后又被捞起来,面了四次(其中一次面C++,问我什么水平,我说hello word水平,于是这一面基本算是没面,面试官随便问了些问题),总共阿里面了6面。
下面总结了面试的各个公司的问题(不限于阿里),其中腾讯面游戏部门时候,面试官居然问我玩不玩游戏,王者荣耀什么段位,(可能这造成了我在校招的时候别人都在找工作,而我却在玩王者荣耀),但是主要就说了下自己对于影响和伤害的理解,那个英雄bug,面试官概括说这就是游戏平衡性。
在回答问题的时候尽量基于数学来推理,腾讯有一面和面试官在讨论一个问题时,他说很少有人继续分析为什么,非常地满意。所以有时候回答完,最好再说说为什么。
算法理论
- LR,SVM,KNN,GBDT,XGBoost,K-means,决策树,PCA等原理和推导,数学上解释其中细节,为什么。
- 对深度学习的理解,CNN,LSTM原理。熟悉那些深度学习框架。
- 算法对比,ID3和C4.5却别,XGBoost、随机森林和GBDT区别,Adaboost和Boosting的区别。
- 损失函数有哪些,自己的理解。
- 优化方法,如rule对比sigmod优势,是否知道其他的函数。
- 知道的评价方式,优缺点,如AUC.
- 如何防止过拟合,L0、L1正则和L2正则,为什么L1正则具有稀疏性,为什么要交叉验证。
- 不平衡数据的处理方法。
- 对推荐系统的了解,提升CTR有哪些方法,有哪些Learning to rank方法。
编程&数据结构
- HBase原理,Hive自定义函数UDF,udf、udaf、udtf区别,gfs和hdfs区别。说说map和reduce。
- java多线程问题,生产消费者模式。线程和进程区别。
- 红黑树原理,B树等,排序二叉树,hash表,链表查找时间复杂度。
- 数据倾斜是什么,怎么处理,Join时候应该注意那些操作避免数据倾斜。
- Python yield,惰性求值,lambda表达式。
- Hashmap,TreeMap,LinkedHashMap原理与区别。
- 剑指offer上题目,如旋转数组等。
- SQL实现特定功能。
比赛
- 比赛赛题理解,建模问题。
- 比赛中耗时最多的部分?(特征工程);特征工程的看法,如何设计。
- 细节问题,为什么要这么做,有什么理论依据。
- 业界常用的方法,最新方法。
基础
- 计算机网络:如TCP三次握手,浏览器输入地址到返回页面整个过程。
- 操作系统:线程和进程区别。
智力题
- 概率问题:从数学上求的概率值而做出结论,不要凭感觉。
- 淘宝有1亿总量的商品数量,你作为一个用户通过什么办法得到京东的商品总量。
- size为100的数组,范围是1-101,有两个重复的数字,在线性时间,常数空间下找出这两个重复的数。
- 一个数组,size为n,对其中n-1个数做加1操作,然后最少经过多少次使得每个数都一样。
交叉面
- 深度:问一些项目问题,看你的理解程度。
- 视野:业界有哪些方法。
HR问题
- 自我介绍。
- 项目和比赛细节。
- 介绍那边主要业务,地点,薪资,补贴等各种。
- 有些HR问了怎么看他们的公司和阿里。
3. 实习经历
实习遇到了很多大牛。主管做了十多年机器学习,一个师兄以前是国外大学老师好像,数学基础很好,成长很快。实习生一个来自UCB的小姐姐,一个双鸭山发论文大佬,一个愣头青(我不说是我)。
- 找paper,看paper,如何在项目上应用实现。在学校看的英文文献比较少,虽然六级过了,其实阅读能力在直线下降,平时多看看论文至少阅读能力不会下降。
- 熟悉ODPS,UDF等,在上面做数据预处理,机器学习建模工作。对于算法整个部署的流程,上线都了解了。有很多数据和权限的问题需要和不同的人沟通讨论,也保持存在感。
- 被Challenge,心态放开,记下被Challenge的点慢慢啃,最终主管对实习的工作还是比较肯定,评价是正式员工的工作完成度。
- 活动很多,可以认识挺多其他部门的人,还有认识了许多同校师兄。平时组内最多的就是运动,一起打篮球比较多,隔壁组好像比较喜欢王者荣耀开黑。
- 杭州夏天很热,冬天很冷,饮食的话口味比较清淡。成都才是个好地方。
总结
- 平时多看看paper,扩展自己的视野和方向,有机会自己发几篇。
- 基础要扎实,像编程、数学、算法理论。
- 对于自己的项目或者比赛,好好总结,对于其中的点要揭示出遇到什么样问题,为什么要这么做,比赛做完之后看看别人的代码和答辩视频。
- 多看看别人面试经验。
时间略长,想起来再继续补充。。。。
其实无论那个岗位,要学些什么自己心里也是有点B number,有时候还是有太多惰性,想要找捷径。记得有一句话,“找一个怪兽,让他追着你,你就不会停下”。
CSDN原文:https://blog.csdn.net/shine19930820/article/details/80098065
https://blog.csdn.net/shine19930820/article/details/79042567
算法面试和实习经验分享相关推荐
- 想入职阿里的Java开发者必看,阿里巴巴面试官实战经验分享!
最近社区Java技术进阶群的小伙伴总是会问,如何面试阿里Java技术岗,需要什么条件,做哪些准备:小编就这些问题找到了阿里技术团队中在一线真正带Java开发团队并直接参与技术面试的专家,分享了自身在筛 ...
- 转载:香港实习生微软实习经验分享
原文地址:SQL Server中国团队博客 2009年夏天,微软中国研发集团服务器与开发工具事业部引来了第三批香港实习生. Marcus就是其中一位,土生土长于香港.半谙普通话的二十岁小伙子 ...
- 在广州找前端开发实习经验分享2
记录一下我面试过的所有公司,春招前面试的所有的公司了! 一.广州华资软件技术有限公司(2020.11.18) 工资很低,hr最后问有什么想问她的吗?说完这句话就秒接"没有也没有关系--&qu ...
- 在广州找前端开发实习经验分享1
目录 一.广州预见网络科技有限公司 二.广州图石科技有限公司 三.广州中工水务信息科技有限公司 四.温馨家政月嫂(广州)科技有限公司 五.广州云趣信息科技有限公司 六.广州迅捷微风信息科技有限公司 七 ...
- 浙大计算机学院夏令营面试,学姐经验分享丨夏令营面试准备 套路详解!
原标题:学姐经验分享丨夏令营面试准备 & 套路详解! A:哎,小B,我听说夏令营面试很重要,你准备好了吗? B:没有欸,自我介绍.专业知识考核.英语考核什么的感觉好复杂. A:是啊,听说还有什 ...
- 非体制拿到浙大MPA提前批面试A资格经验分享
提到浙大公共管理硕士的提前批面试,相信很多小伙伴应该都对其要求有所鸡蛋忌惮,我去年刚开始了解浙大MPA提面时也是一样,而且与多数事业编和公务员考生相比,感觉自己基本没太大希望,但还是硬 ...
- 以技术面试官的经验分享毕业生和初级程序员通过面试的技巧(Java后端方向)...
本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技巧我讲,公司你选,两厢便利. 毕 ...
- 以面试官的经验分享毕业生和初级程序员通过面试的技巧
微信公众号:javafirst 本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技 ...
- 从小白到入门算法,我的经验分享给你~
研究生三年,作为一名非计算机专业的学生,能够从一名纯小白(Python不会,机器学习没听说过)到最后校招拿到几个不错的offer,个人感觉可以给自己打个及格分吧.写本文的目的,一是对自己研究生阶段所学 ...
- 秋招Android进阶面经,面试10余家经验分享,拿到offer真不难
前言 我们都知道面试大厂主要就是考察程序员技术方向的专业技能,Java开发主要考察的就是Java方面的专业技能,而Android岗位的 专业技能 就是Android程序员面试的重要考察方向. 大厂的招 ...
最新文章
- Cisco对中国CCIE认证下重手了
- Android数据存储之GreenDao 3.0 详解
- 《algorithm-note》算法笔记中文版正式发布!
- db2 9.7 64位_2020年使用2016年的第一代9.7英寸 Ipad pro?
- 上市4年,现在苹果要停产它了
- R 多变量数据预处理_超长文详解:C语言预处理命令
- Android应用程序键盘(Keyboard)消息处理机制分析(11)
- 对于处理上传图片添加水印的简单操作
- idea使用svn拉取项目代码_idea下载svn的项目并且运行操作
- win10计算机磁盘图标,主编教你win10系统无法正常显示硬盘图标的方法
- 2014年360广告算法面试经历
- JS事件对象 (event)
- 小鹏汽车领投 这家车规级MEMS激光雷达公司完成数亿元Pre-C轮融资
- 基于51单片机的简易交通灯仿真代码讲解
- 物联网考计算机是跨专业,大学生,物联网专业学什么,考研能跨什么专业考研?...
- 後は勉強をもっともっと頑張りましょう、自分の人生は自分で切り開くしかありません...
- Elasticsearch-7.8.0源码编译
- 28岁存款6万的我裸辞了
- centos7安装谷歌Google浏览器
- 台积电5nm工厂明年一季度投产 现已开始转移设备