2016面试整理--来源牛客网

马上国庆节了,首先祝大家最后都能有个满意的offer,国庆几天好好养精蓄锐。

我经常在牛客群里水群,应该不少人看我眼熟的。

本人是一个杭州渣硕,本科也很一般,和211 985半点都粘不到,没有参加过ACM,也没有参加过大型比赛。目前仍然是只有华为1个offer,其他公司都是等通知状态,厚着脸皮来发一下面经。基本状态是:华为优招offer,百度3面通过HR让节后等通知,滴滴HR通过,网易HR通过,挖财HR通过但是不能实习不给offer只能进池子。

华为:
第一次参加面试,十分紧张,紧张到很对会的问题都没有答上来。中软OS岗:
一面:
1.内存分配的流程,要具体细节;    我答了伙伴+守护进程+page_fault的处理+slub分配器,面试官很满意。
2.虚实地址转换
3. “./”执行elf文件 操作系统做了哪些事情,为什么不用./ 不行 。(没答出,之后看了程序员修养这本书之后才懂)
二面:
1 红黑树 特性和与AVL数比较 B树比较
2  一个包含联合体的结构体 在64位大端存储的情况下的 代码结果 (当时懵逼了 ,其实很简单,考 结构体对齐 联合体内存共享以及大小端存储)
3.kmalloc vmalloc malloc的区别
4.说一下 c语言 write文件时 OS做了什么,模块间调用关系
三面:
1.谈项目
2.谈有关压力
3.谈有关华为
4.谈有没有女朋友
5.谈爱好

网易内推:
内推运维开发,2面之后加了额外的技术面(据说叫总监面?) 然后挂了
一面:.谈项目 ,谈linux 。谈论文
二面:你java如何(答 用得少 python用的多,面试官大黑脸) 谈项目 谈论文
三面:你想搞运维还是运维开发?我:开发  系统运维也不错的。我:开发  (面试官黑人问号.jpg)
GG

百度:
运维开发
一面:
1.自我介绍
2.500G文本 1G字典 统计前100的KEY  (字典树 ,结果我写了个多线程,然后面试官问了我好几次能加速吗?最后反应过来了,不行,IO没法并行。)
3.String相关字符串常量的问题,以及对象深拷贝(送分题,可惜宝宝用的是python 差点没写出来)
二面:
1.谈项目
2.谈论文
3.你常用Linux命令(awk sed grep telnet netstate tcpdump top ps perf) 如果不会 就少说点,问的很深,比如让你 文本按列排序 还有正则grep 很杂的。
4.用python写字符串逆序,其中baidu关键字不逆序(经典面试题)
5.谈谈对运维的理解
三面:
1.智力题(游戏的必胜策略,略难,没答出来)
2.选运维原因
3.职业规划
4 谈谈对百度运维的理解和你理想中运维的模式

挖财
一面:
1. Python的OO和其他语言的区别,多态 重载和继承  python实现方法
2.Python的鸭子类型
3.Python的 list和 tuple
4.docker相关问答
5.openstack相关问答
6.面试官:你玩魔兽吗?为了部落 (我穿了部落的战衣去的=。=)
二面:
冷面主管
1.谈docker 资源隔离 生态圈 动态扩容
2.谈项目
3.谈论为
4.喊HR
HR面省略,基本都一个套路

网易校招:
测开
一面:
1.手写生产者消费者模式
2.用AWK 对一个文本第一列分组,第二列组内排序 (需要你对AWK编程很熟才行。正常人一般也不会用这么用AWK,正常做法一般先sort 然后grep - -)
3.如何测试一支笔
二面:
1.对测开理解
2.如何测试微信
3.如何定时执行某个脚本  ( crond )
4.谈人生
5.谈论文
之后是HR面

滴滴出行:
运维开发
前两面是视频面,用的牛客平台:
一面:
1。自我介绍
2.常用linux命令,参考上面的
3.智力题
4.一个情景下多线程的设计
5.敲个99乘法表

二面:
1.自我介绍
2.定时任务
3,10分钟时间,不定长字符串数组中找公共后缀 (abcbcd zxcbcd kmibcd 这种 最后找到bcd就好,时间很短,没有自动填充,打字要快,思路要清楚)
4.10分钟时间,输入一周股价,算出 买入卖出的最大利润,(典型DP问题,还是时间短,思路要清晰,打字要快,没有IDE,所以祈祷自己记得关键字把)
5.一个高并发的题(可以只说思路)
6.一个遥控器,说说如何优化(开放题)

三面:
线下了,boss气场很足
1.谈项目中遇到的问题,如何解决的,做了哪些方案,为什么选最终方案
2 谈谈遇到不公平待遇怎么办
3.谈如何处理压力
4.找我之前的面试评价,貌似找到之后直接就送我去HR了
后面HR省略
---------------------------------------------------------------------------------------------------------------------------------
迟到的面经,大概就这样了。因为时间跨度比较久,华为是7月底面试的,最近面试有点多,问题可能有部分缺失,实在想不起来了,记得这么多我也挺佩服自己的。

谈谈技术无关的东西:
心态:最重要的,不要紧张,不要患得患失
言行:行走端正,说话不卑不亢,不要像啄木鸟(忘记哪里看到的,说是如果你说话前倾 后仰一直动的话,说明你不自行,别人潜意识里会看轻你)
学校:学校很重要  憋说不重要。好学校大牛也多,而且好学校有潜在加成,薪水加成什么的,各位有几乎去好学校还是去好学校啊
---------------------------------------------------------------------------------------------------------------------------------
无意当收割机,目前暂时还是1 offer 。
所以面了很多。
不过我的岗位和各位开发大牛应该不冲突的,毕竟我比较偏门
完毕

---------------------------------------------------------------------------------------------------------------------------------
补充说明:
关于HR面
HR面基本都是问你现在有哪些offer,面过哪些公司,为什么选这个岗位,对公司的了解,工作地点的选择,家人对工作的看法,职业规划等以及一些人际关系处理方面的问题。
我都是如实回答的。

各位有什么建议也可以提


第二位:

本人基本情况,本科研究生均为985(靠后),研究生阶段做了一些计算机视觉的项目(终身机器学习和迁移学习),另外参加了阿里天池大数据等数据挖掘竞赛(top10,队名 climbers 个人ID:木木三),在腾讯广告部门实习过(基础研究)。 校招阶段开始就拿到阿里内推的offer, 所以很多公司的校招就没参加了,下面就分享所面试公司的面经:

校招面试

1. 腾讯 - 基础研究

一面现场面,自我介绍加挑一个项目细讲,还有场景题,第一题是 QQ 添加好友按名称搜索时,怎么区别广告号,诈骗号;第二题是微信朋友圈内容的安全鉴别;第三题是如何鉴别实施诈骗的 QQ 用户;第四题是如何做反作弊,例如公众号的刷阅读量。

二面现场面,自我介绍,聊项目,场景题如何鉴别淘宝上卖假货的商家,价格维度可以用什么策略等

2 .阿里 - 算法工程师

直通终面(一面技术面 +hr 面)

技术电话面主要是聊简历提到的竞赛项目和实习经历,数据结构题目,合并两个有序链表的方法的递归和非递归实现等。

3 .网易游戏 - 数据挖掘研究员

网易游戏的两个面试官一起面试,一面主要问项目,然后问游戏情况,如热爱游戏吗,喜欢哪些游戏,游戏等级多少,游戏的时间多少,另外根据你玩的游戏出了一个场景题,问我对于英雄联盟,假如换了一种新的开局英雄匹配算法,如何衡量新旧算法的好坏(我主要答到了 用户流失率,玩家胜率分布,游戏时间,玩家言论(游戏内,外部论坛),专家文章 )

另外出了一个题是 给定前 N 天 玩家 id, 操作时间,操作类型(登入 / 登出),玩家等级,让你预测第N+1 天的玩家登录情况。

二面主要是聊项目 + 聊三观,问游戏情况,顺便问了一下所玩游戏的平衡性问题还有数据挖掘在游戏中的应用点。

4. 百度-机器学习

一面 自我介绍 + 问项目 + 机器学习基础 + 编程题,机器学习:几种树模型的原理和对比,朴素贝叶斯分类器原理以及公式,出现估计概率值为 0 怎么处理(拉普拉斯平滑),缺点; k-means 聚类的原理以及缺点及对应的改进;

编程题:实现求正整数平方根整数部分的函数(使用梯度下降)

5. 唯品会 - 算法助理工程师

一面二面都是聊实习内容或者竞赛,没有写代码

实习面试

1. 腾讯内推 - 基础研究

一面电话面,问项目 + 远程编程,第一题是多位数用链表存储( e.g. 123 用 1->2->3 存储),实现相加功能函数 第二题是两题 sql ,涉及 join,group by,max,min,sum,count 等操作的结合,以及同个题目多种写法。

二面是去微信总部现场总监面 + 组长面,主要问项目

2. 阿里内推 - 算法工程师

一面电话面 自我介绍 +项目细节+3 道数据结构题目,第一题是链表倒数第 k 节点;第二题是二叉树打印路径,第三题是矩阵中将 0 元素所在行列全置 0 的最优空间解法

二面电话面 自我介绍 + 简历所有细节 + 数据结构熟悉程度了解(堆排序等)

三面电话面 自我介绍 + 聊项目 + 机器学习基础(线性回归与逻辑回归区别等)

3. 蘑菇街内推 - 算法工程师

一面电话面,自我介绍,问简历中提到的机器学习模型, RF 与 GBDT 区别,原理优缺点适用场景分析,哪个具备交叉验证功能等

4. 美图秀秀面试 - 机器学习岗(大数据方向)

主要问最优化方面的知识,梯度下降法的原理以及各个变种(批量梯度下降,随机梯度下降法, mini 梯度下降法),以及这几个方法会不会有局部最优问题,牛顿法原理和适用场景,有什么缺点,如何改进(拟牛顿法)

5. 华为 - 大数据开发岗

一面二面都是聊项目,项目比赛成绩证明,为什么选择华为等;

数据挖掘岗位笔试面试涉及知识  中文书籍推荐
周志华 《机器学习》,机器学习入门,通俗易懂,涵盖较全
李航 《统计学习方法》,机器学习的数学理论讲解
何海涛《 剑指offer》,数据结构题目,笔试面试常考题目,(还有leetcode上的题有空最好也刷一下)
程杰 《大话数据结构》,通俗易懂的数据结构入门书籍


第三位:


最近秋招也已经慢慢接近尾声了,从去年 8 月底开始,先后参加了 datacastle ,阿里天池,牛客网各自举办的数据挖掘比赛(都是 top10 ),今年 4 月份又先后去百度,腾讯实习,到现在秋招快结束,也将近一年的时间,最终拿到手的比较有分量的 offer 主要是腾讯,百度,华为三家企业的 offer ,都是 sp ,下面就将过去一年的一些经验做一下小总结,不一定是最合适的方法,但是当毫无头绪的时候,可以参考参考。

 

(一)   简介

1.        首先介绍企业对该岗位的一些能力需求,直接贴 bat 在该方向的相应岗位 jd :

( 1 )百度:机器学习 / 数据挖掘工程师

( 2 )阿里:算法工程师

( 3 )腾讯:基础研究

2.        个人感觉数据挖掘是一个比较大的概念,可以理解为:

数据挖掘  =  业务知识  +  自然语言处理技术( NLP ) +  计算机视觉技术( CV ) +  机器学习 / 深度学习( ML/DL )

( 1 )其中业务知识具体指的是个性化推荐,计算广告,搜索,互联网金融等; NLP , CV 分别是处理文本,图像视频数据的领域技术,可以理解为是将非结构化数据提取转换成结构化数据;最后的ml/dl 技术则是属于模型学习理论;

( 2 )在选择岗位时,各个公司都没有一套标准的称呼,但是所做的事情无非 2 个大方向,一种是主要钻研某个领域的技术,比如自然语言处理工程师,计算机视觉工程师,机器学习工程师等;一种是将各种领域技术应用到业务场景中去解决业务需求,比如数据挖掘工程师,推荐系统工程师等;具体的称呼不重要,重要的是平时的工作内容;

PS :在互联网行业,数据挖掘相关技术应用比较成功的主要是推荐以及计算广告领域,而其中涉及到的数据主要也是文本,所以 NLP 技术相对来讲比较重要,至于 CV 技术主要还是在人工智能领域(无人车,人脸识别等)应用较多,本人了解有限,相关的描述会较少;

3.        根据之前的分析,也可以看到该岗位所需要的 3 种基本能力分别是业务经验,算法能力与工程能力;

 

(二)   入门

1.        工程能力

( 1 )编程基础:需要掌握一大一小两门语言,大的指 C++ 或者 JAVA ,小的指 python 或者 shell 脚本;需要掌握基本的数据库语言;

建议: MySQL + python + C++ ;语言只是一种工具,看看语法就好;

推荐书籍:《 C++ primer plus 》

( 2 )开发平台: Linux ;

建议:掌握常见的命令,掌握 Linux 下的源码编译原理;

推荐书籍:《 Linux 私房菜》

( 3 )数据结构与算法分析基础:掌握常见的数据结构以及操作(线性表,队,列,字符串,树,图等),掌握常见的计算机算法(排序算法,查找算法,动态规划,递归等);

建议:多敲代码,多上 OJ 平台刷题;

推荐书籍:《大话数据结构》《剑指 offer 》

( 4 )海量数据处理平台: hadoop ( mr 计算模型, java 开发)或者 spark ( rdd 计算模型, scala 开发),重点推荐后者;

建议:主要是会使用,有精力的话可以看看源码了解集群调度机制之类的;

推荐书籍:《大数据 spark 企业级实战》

2.        算法能力

( 1 )数学基础:概率论,数理统计,线性代数,随机过程,最优化理论

建议:这些是必须要了解的,即使没法做到基础扎实,起码也要掌握每门学科的理论体系,涉及到相应知识点时通过查阅资料可以做到无障碍理解;

( 2 )机器学习 / 深度学习:掌握 常见的机器学习模型(线性回归,逻辑回归, SVM ,感知机;决策树,随机森林, GBDT  XGBoost ;贝叶斯,  KNN  K-means  EM 等);掌握常见的机器学习理论(过拟合问题,交叉验证问题,模型选择问题,模型融合问题等);掌握常见的深度学习模型( CNN RNN 等);

建议:这里的掌握指的是能够熟悉推导公式并能知道模型的适用场景;

推荐书籍:《统计学习方法》《机器学习》《机器学习实战》《 UFLDL 

 3 )自然语言处理:掌握常见的方法( tf-idf  word2vec  LDA );

3.        业务经验

( 1 )了解推荐以及计算广告相关知识;

推荐书籍:《推荐系统实践》《计算广告》

( 2 )通过参加数据挖掘竞赛熟悉相关业务场景,常见的比赛有 Kaggle ,阿里天池, datacastle 等;

PS: 以上都是一些入门级别的介绍,在长期的学习中,应该多看顶会 paper ,多读开源代码,多学习优秀解决方案;

PS: 以上推荐的书籍对应的电子版可以联系本人( Q:1434909067 

 

(三)   求职

1.        简历

( 1 )格式:个人信息(姓名,联系方式,教育背景,求职意向,照片可有可无) +  竞赛经历 +  实习经历  +  项目经历  +  掌握技能  +  获奖情况;

PS: 最好写成一页;

( 2 )加分:博客, github ,竞赛 top10 ,顶会 paper ;

PS: 如果感兴趣的话可以联系我要简历模板( Q:1434909067 

PS: 牛逼的简历可以让你有更多的面试机会,更关键的是让面试官在面试时潜意识给你打高分,当然前提是简历要真实,所以平时得为了牛逼的简历多做准备工作;

2.        海投

( 1 )国内设有该岗位且还不错的公司:

百度,腾讯,阿里,网易(互联网,游戏,有道),华为,今日头条,滴滴研究院,一点咨讯, 360 ,美团等;

( 2 )如果选择留在广东深圳发展,就业的机会比较少,比较好的主要就是百度深研,腾讯总部,华为深圳,京东好像在深圳也有个做数据挖掘的团队;(楼主倾向去深圳发展)

( 3 )个人建议在 3 月份的时候可以通过实习生的身份进入相关企业,争取实习生留用;一般企业给应届生的 hc 分配比例大概是实习生留用:校招提前批:校招正式 =4 : 3 : 3 ,实习生留用相对比较容易;

( 4 )一般投递简历时,尽量联系公司内部的师兄师姐或者熟人,帮忙将简历直接给到团队 leader 手中,这样做的好处是可以同时面试同个公司的多个团队,前提是简历在公司校招系统未被锁定的前提下,具体情况多咨询公司内部熟人,在求职过程中,信息来源非常重要,一定要注意这点,不然会踩很多坑;

( 5 )加入各种求职交流群,多认识些人,共享资源;

( 6 )投简历时候尽量内推,很多公司内推可以免笔试;

PS :笔试纯属看 rp ,总之就是多刷题,上牛客网多练练并针对性复习就好;

3.        面试

( 1 )一般该岗位的面试起码都有 3 轮, 2 轮技术面, 1 面 hr 面, hr 面主要看情商,这里不多说; 2轮技术面的区别就是越到后面面试官的级别越高,所以面试的风格也可能越偏向于技术视野等一些吹水的话题上;

( 2 )一般技术面有以下一些环节:自我介绍,项目介绍,算法提问(推公式),数据结构提问(写代码);

1 )自我介绍:一般尽量简短,主要讲清楚自己的研究方向,所取得成就以及优势所在即可;

2 )项目介绍:简历上的项目一定要熟悉,介绍时候分三部曲:项目背景,项目方案,项目成果;对项目中涉及到的一些技术点一定要很熟悉;

3 )算法提问:一般是问常见机器学习模型原理或者一些机器学习常见问题的解决方案(比如正负样本不平衡之类的),所以常见的机器学习模型一定要很清楚原理,必须会推公式,能知道工程实现的一些trick 的话,那你就离 sp 不远了;

4 )数据结构提问:常见的数据结构一定要掌握,基础的代码一定要会手写(快排,冒泡,堆排,归并排序,二分查找,二叉树的遍历,二叉树增删查改);剑指 offer 的题目要会;有精力的话可以刷下leetcode ;

( 3 )面试的时候多准备一些素材,在面试过程中主动引导面试官提问,比如面试官让你讲解 gbdt 原理时,这会你可以跟他说一般说起 gbdt ,我们都会跟 rf 以及 xgboost 一块讲,然后你就可以主动地向面试官输出你的知识;面试并不是死板地你问我答,而是一种沟通交流,所以尽可能地把面试转化成聊天式的对话,多输出自己一些有价值的观点而不是仅仅为了回答面试官的问题;

( 4 )在面试过程中,除了基础的东西要掌握,可以适当地向面试官展示你的一些其他的亮点,比如跟面试官谈论某些最近 paper 的进展以及一些技术方面的想法等,突出自己的与众不同;

( 5 )不同公司的面试风格都略有不同:

1 )百度:技术派,现场面,最大的风格就是写代码, 2 面技术加一面经理面,技术面必写代码;

2 )阿里:内推可以电话面,主要是聊项目跟问一些基础的数据结构方面的知识,看看剑指 offer 一般可以应付;

3 )腾讯:内推可以电话面,主要聊项目跟推公式;

4 )华为:主要聊项目,智力题以及聊价值观之类的东西;

5 )滴滴研究院:百度系,面试风格跟百度差不多;

( 6 )常见面试题(由于有的面试时间较久,主要靠记忆写下来)

1 )几种模型( svm , lr , gbdt , em )的原理以及公式推导;

2 ) rf , gbdt 的区别; gbdt , xgboost 的区别(烂大街的问题最好从底层原理去分析回答);

3 )决策树处理连续值的方法;

4 )特征选择的方法;

5 )过拟合的解决方法;

6 ) kmeans 的原理,优缺点以及改进;

7 )常见分类模型( svm ,决策树,贝叶斯等)的优缺点,适用场景以及如何选型;

8 ) svm 为啥要引入拉格朗日的优化方法;

9 )假设面试官什么都不懂,详细解释 CNN 的原理;

10 )海量的 item 算文本相似度的优化方法;

11 )梯度下降的优缺点;

12 ) em 与 kmeans 的关系;

13 ) L1 与 L2 的区别以及如何解决 L1 求导困难;

14 )如何用尽可能少的样本训练模型同时又保证模型的性能;

15 )解释 word2vec 的原理以及哈夫曼树的改进;

16 )对推荐算法的未来看法;

17 )在模型的训练迭代中,怎么评估效果;

18 )有几个 G 的文本,每行记录了访问 ip 的 log ,如何快速统计 ip 出现次数最高的 10 个 ip ;如果只用linux 指令又该怎么解决;

19 )一个绳子烧完需要 1 个小时,假设所有绳子的材质都不一样,也不均匀,怎么取出 1 小时加 15 分钟;

20 )假设有个 M*N 的方格,从最左下方开始往最右上方走,每次只能往右或者往上,问有多少种走法,假设中间有若干个格子不能走,又有多少种走法;

21 )实现 hmm 的状态转移代码;

22 )最短路径代码;

23 )拼车软件是如何定价的以及如何优化;

24 ) 100 张牌,每次只能抽一张,抽过的牌会丢掉,怎么选出最大的牌;

25 )怎么预测降雨量;

26 ) kmeans 代码;

27 ) mr 方案解决矩阵相乘的代码;

28 ) sql 语句的一些优化技巧;

29 )关于集群调度的一些经验 trick 掌握多少;

30 )设计一个系统可以实时统计任意 ip 在过去一个小时的访问量;

31 )设计 LRU 系统;

PS: 以上的面试题仅供参考,主要是提供一个方向,大概了解这个岗位的面试考核方向,具体还得多刷刷面经(牛客网);

 



你可能感兴趣的:(互联网面试)