前言

现在已经六月份了,不知道大家都找到了满意的工作吗?今天小编就给大家分享一下小伙伴在腾讯、美团五家大厂收到offer之后的大数据面试经历,还有面试题,希望大家能够喜欢!!


小伙伴从去年7月中旬开始找工作,找的是大数据研发 or 大数据算法方向,反正围着大数据打转,截止到9.12号为止,腾讯、美团、360安全研究院、搜狗、贝壳 都收到意向offer,当然挂面也吃了不少。

  • 阿里招聘系统有点bug,没找到机会去面,然后接受了一波劝退性笔试,最近看能不能找个好心的小姐姐推进去面一波
  • 百度三面电话没接起来,然后没然后了...
  • 网易接了一波玄面~
  • 头条也去面了一波,不过真的没复习那么全,回来海学一波,也算值
  • 滴滴给了一“真内推”(直接问能来实习不,来就有...),不过最近在风头上,考虑中...

offer的具体工作内容不介绍了,怕被HR小姐姐查出来,请去喝茶...

小伙伴自我介绍

北京985渣硕一枚,是真的渣,舍友商汤、旷世,出国留学,学校中各类大佬一坨,在夹缝中求生,混口饭吃。

主攻方向:无。领导搞行政的,天天端茶倒水取快递,外挂写不尽的基金本子,论文全靠个人参悟+上天怜悯

说点正事吧,关于工作路线,最终选择的是大数据研发方向,主要原因是研一上了点分布式的课,拿出来吹一吹,还能唬的住人。个人感觉算法也能做,研发、算法半斤八两吧

学校这边的话,有优秀高校背书自然要好,没有的话,就没有吧,大牛们不差这点,渣渣们大家也强不到哪去,不必强求!

项目,在读书过程中,一定要了解个项目,否则面试官真没啥问题你的,尬场基本就凉凉了。这项目不必真的是你的,当找工作时,所有前辈、朋友的项目全都是你的,包装下,你说是你的就是你的,没人去查你底细的,关键了解要深,这样和别人说底气才足。我有幸给一个数据流项目做了些边角任务,但在简历上,我成为了该项目的负责人...自己体会包装的艺术...

简历,以前认为大家“没见过猪跑还没吃过猪肉吗”,网上那么多强调简历重要性的,直到看见我小师弟的简历,发现真的有人没吃过猪肉(学硕他专硕,一起找工作,他有百度大厂背书,可这工作找的唉...)。最简单的修改方法,让你附近的同学看看,第一眼感觉可以吗,可以就ok,不可以就gg,照着人家的改改。

现在前头,准备要早,投的也要早基本7月中旬就陆陆续续开始有提前批了,错过就没了>...<

干货

这货也不干,过去一整阵子了,能写多少给大家写多少吧,考点网上一抓一大把

技术面

先说说技术面流程:

  1. 让你做自我介绍(准备好)
  2. 看看你简历,说你对这个比较熟?balabla...你问的简单就熟,问的难不好意思不太了解
  3. 看看你实习经历,让你介绍实习干啥了,有没有什么大项目能拿得出手,干聊10-20分钟的
  4. 问问职业规划。这里表现出你态度的虔诚,不会乱跳槽,踏踏实实的干,让他感受到你想进这家公司,两眼能放光就更好了... 大佬们可以海吹一波
  5. 你有啥子问题。我一般预备两个问题,您这部门具体做什么能介绍一下?我什么时候能知道自己是过了还是没过呢?尽量不要不问,各路大佬在贴中都说过了

一定要把主动权掌握在自己手中,面试官会问很多你平时不了解或压根不知道的问题,这时你可以说平时我用不到这些(可以理解啊,应届生上哪懂这么多邪门歪道啊,大佬请无视我),然后说自己对xxx领域有点研究,引导他来问你

对面提问你时,其实很考验你答辩技巧的,当你熟悉的东西时,那很OK,balabala即可,问你不熟悉的(你只知道点皮毛,但也在简历上写了),你可以说“我做项目时碰到过一点,大体查了下,有点印象,您可以试着问一下”,这样会让面试官把期望放低,问题难度也会降低,答出来加分,答不出来也无所谓

HR面

  1. 自我介绍(准备版非技术的! 从本科到大学,研究方向,选择这家公司理由,实习经历拉一拉,时间一般能凑够了,让对方感觉你是个健谈的人)
  2. 聊聊兴趣爱好(准备些健康的爱好,游戏公司可以考虑非健康的...)
  3. 聊聊实习经历,和上下级处的如何,有压力怎么办
  4. 你有啥问题。我对这部门还有些不了解,您能在系统介绍下吗?入职培训介绍一下?

下面具体拉拉各厂面试经历吧,我把比较有特色的问题列出来,统一的我放在下面知识点了,重写太麻烦了...

腾讯

难度:easy,可能我比较幸运?

一面

电话面,问了问Java的基础问题,其中有印象的是

  • final这个字段用在字段和方法上的区别,在方法上好像能加速,大家自己查吧。。

二面

现场面,基本围绕着你简历上问

  • xgboost相对gbrt改进
  • topK问题

三面

总监面,这面基本聊聊实习的项目,用到的技术等,不知死活的我问了问sp的问题...建议各位0-offer党(offer满天飞的大佬请无视我)不要在该环节问sp的问题,最后给不给sp,好像不是这伙计定的,具体还是看聊得情况,聊开了什么都能聊,聊不开,那就88


美团

难度:normal

一、二面

  • Java问了一堆
  • Spark问了一堆
  • 然后给我介绍部门,我基本在听他说了...

后面知识点都有我就不展开写了o_o ....

三面

问我刷题不?(这想要我什么回答呢),杯子倒水智力题,实习项目聊一聊

360

难度:normal+

一面

上来怼了我一堆python的东西,我python当脚本用的,说能不能换个方向聊一聊,然后怼了一堆

  • 期望
  • 准确率召回率
  • AUC和ROC
  • 决策树聊一聊
  • 阐述自己如何设计模型的

开始问题偏向于算法,后来我说我其实擅长架构类的东西...小姐姐说,这样啊,不过看你答的还可以啊,架构我就不问你了...

二面

问了些数据仓库的问题,雪花型和星型数据库等,我表示一脸懵逼,然后和他扯Spark Streaming,他对这个还挺感兴趣的,算是晃点住了,后面说加班怎么看,然后他开始介绍他NB的团队,我开始瞻仰,膜拜...最后问问能不能来实习,基本回答都是能(不能的好像都没了...),时间节点自己需要把握一下,最好等到所有offer都下来的时候,我自己预估是10月中旬吧



头条

难度:father

一面

  • spark streaming 怼一波
  • 如何保证exactly once
  • tcp中全连接池和半连接池等
  • 剑指offer上一道题:二叉树蛇皮走位??

二面

  • yarn 调度算法
  • 扯了扯spark streaming
  • 一道算法,树中两节点找最亲的爸爸...
  • 实习聊一聊

面试官不是很感冒,问我还有什么补充了,我竟然说没...猝,血淋淋的教训啊


搜狗

难度:hard

一面

两个面试官,发了张卷子,里面什么题都有:

  1. 排序、有重复的数组中查询某数的index,注意不要退化成o(N)的算法
  2. 在一棵树中查找两个节点的最近公共父节点(就是头条二面那道题)
  3. linux $$ $# $0 等含义
  4. 智力题 50红 50黑 分配两袋子摸球问题
  5. n!后面有多少个0
  6. hdfs的基本操作
  7. 大数据处理问题,用spark处理下

二面

  • 问我为啥不考虑读博?(学的太渣,感觉没有必要读...)
  • 问我对前面面试官的看法(你要炒他们吗。。。)
  • 实习聊一聊

贝壳

难度:normal+

讲道理贝壳我是抱着去打小怪的心态去的,并没打算留下的,但是面试体验很好,最后给的薪水超高、福利也爆炸,缺点的话大家懂得,偏养老,看大家选择吧。算是帮一面的大哥打波广告吧

一面

数据倾斜怎么处理,我个人感觉我回答的比较差,以前没仔细思考过这个问题,后来查了查发现里面有很多道道。

但面试官很nice,问了问我其他方面,感觉还不错,后面和我讨论了30分钟的职业发展问题,感觉来的很值,大哥我能加你微信吗...

二面

比较年轻的高冷小哥面我的

  • Spark架构
  • shuffle过程
  • Spark Streaming 原理
  • 一道关于棋盘左上角跑到右下角的问题,从搜索、dp、到数学的方法都讨论了一遍
  • 机器学习捎带说了一嘴
  • 实习聊了聊

六大厂面试中遇到的问题

Java

1.线程并发

Q:进程和线程的区别?

Q:进程间通信方式?

Q:线程间通信方式?

Q:Callable、Runnable区别?

Q:Future和Callable的关系?

Q:创建线程的方法?

Q:volatile关键字的作用?

Q:synchronized的用法?

Q:讲一下Java内存模型?

Q:CountDownLatch和CyclicBarrier了解吗?

Q:Semaphore用法?

Q:ThreadLocal作用?

Q:单例与多例的区别?

Q:锁释放的时机?

Q:notify唤醒时机?

Q:notify和notifyAll区别?

Q:讲一下Lock?

Q:锁的种类?

2.集合

集合相对容易,常规送分题,基本都会问到HashMap

Q:TreeSet特性?

Q:LinkedHashMap特性?

Q:ArrayList与Vector的差别?

Q:LinkedList与ArrayList的差别?

Q:HashMap与HashTable的差别?

Q:Set与List的差别?各自有哪些子类?

Q:hashCode()、equals()、==区别?

Q:Java容器中添加的对象是引用还是值?

Q:Iterator和ListIterator的区别?

Q:HashMap实现?

Q:ConcurrentHashMap和HashTable区别?

3.GC

这块主要介绍JVM内存的划分以及GC算法

Q:什么是内存泄漏和内存溢出?

Q:导致内存溢出的因素?

Q:JVM内存划分?

Q:简单说一下垃圾回收?

Q:Minor GC、Major GC和 Full GC的区别?

Q:Full GC触发时机?

Q:什么是常量池?

4.类加载

面试时有人问到过,回去大概查了下

Q:讲一下类加载过程?

Q:Java初始化顺序?

Q:Java类加载器的种类?

Q:双亲委派模式了解吗?

5.面向对象

这些问题很弱鸡,但考的也比较多

Q:面向对象的三大特性?

Q:Java中接口和抽象类区别?

Q:重载和重写?

6.设计模式

Q:例举一下你了解的设计模式?

Q:手撸单例?

8.网络协议

Q:TCP3次握手4次挥手?

Q:TCP为什么是一定要是3次握手,而不是2次或3次以上?

Q:TCP为什么是4次挥手,而不是3次呢?

Q:TCP半连接池与全连接池?

Q:TCP和UDP的区别?

Q:TCP和UDP的应用?

Q:TCP/IP与OSI模型?

Q:ping命令基于哪种协议?

Q:阻塞式和非阻塞式IO区别?

数据库

用数据库做过开发,但是了解的不深入,面试问我会不会写SQL时,我回答“简单的可以,复杂的尝试一下”...SQL复杂起来真不是人写的...

Q:聚集索引和非聚集索引区别?

Q:where、group by、having执行顺序?

Q:星型、雪花结构?

Q:SQL纵向转横向,横向转纵列?

Q:脏读、不可重复读、幻读?

Q:join实现的三种方式?

Linux

Q:查看xxx端口占用?

Q:查看xxx进程占用?

Q:查看CPU使用情况?

Q:查看内存使用情况?

Q:查看硬盘使用情况?

Q:$0、$n、$#、$*、$@、$?、$$含义?

Q:>、>>区别?

Q:>、1>、2>、2>&1、2>1区别?

Q:定时任务命令?

算法

算法的海洋的无边无际,但是应付面试题的算法,个人认为《剑指offer》一本足矣...

个人《剑指offer》刷了大概四遍,基本上看到一道题,所有解法都知道,面试上也基本从这里出我遇到现场出的算法题(除了《剑指offer》上的),一般是暴力搜索题,不要上来想DP...

经典问题

  • 子串匹配问题
  • 子序列匹配问题
  • 合并链表
  • 树中两个节点最近的公共父节点
  • 快排、堆排
  • 各种类型的二分查找
  • 两数交换,不用第三变量
  • 水塘抽样,大佬题解

智力题

  • 一根棍子随机折三节,组成三角形的概率
  • 倒水问题
  • 面粉称重问题
  • 烧绳子问题

大数据

这方面一般问的是偏向于各类框架

  • Hadoop
  • Yarn
  • Spark
  • Hive
  • HBase
  • Zookeeper

Hadoop

Q:两表Join方案?

Q:MapReduce过程?

Q:Hadoop 中 Secondary NameNode作用?

Yarn

Q:Yarn架构?

Q:Yarn相对于Hadoop的优势,或说为什么要有Yarn?

Q:Yarn的三种调度器?

Q:Yarn延迟调度的含义?

Spark

Q:Spark有几种部署模式?

Q:standalone基本架构?

Q:groupByKey和reduceByKey哪个效率高?

Q:数据倾斜是什么?如何处理?

Q:倾斜join如何处理?

Q:基本概念?

Q:枚举一下transform和action?

Spark Streaming

我一般和面试官吹 Spark Streaming,这部分提供给有需要的人吧

Q:Spark Streaming原理?

Q:数据接收方式?

Q:基于receiver数据接收的实现细节?

Q:exactly once如何保证?

Kafka

Q:基本架构?

Q:介绍下ISR副本策略?

HBase

Q:介绍下HBase的原理与设计?

以上就是小伙伴在六大场面试中的面试经历和所问到的问题,在本文中做了一个总结。