阿里腾讯头条面经(0 offer)攒点人品

    作者:不清不慎
    链接:https://www.nowcoder.com/discuss/163053?source_id=discuss_experience_nctrack&channel=-1
    来源:牛客网

    昨晚出了点故障,帖子不小心删除了,早上再重新发一下吧。


    大概在去年年底,自己鼓起勇气,写出了一份简历,本身也没有多少底气,毕竟双非一本,大概招聘网站有的公司学历限制985/211甚至硕士学历。
    但是还是硬着头皮投上去了。结果还不错,收到了几家公司的面试通知。

    最早收到通知的是小米,当时很意外,也很高兴,没想到小米会面我,大数据开发岗位,然后就开始了一面,被率了70分钟,刚开始就手写算法,当时没刷过算法题,就直接挂到算法了。
    然后又收到了头条字节跳动的面试通知,后台短视频开发岗位,下午四点打过来电话面,40分钟,然后晚上说电话面通过,第二天视频面,然后就接着被怼了一下午,二面,三面,四面。。。
    到最后一轮技术面应该是一个大BOSS,深挖项目,被各种怼,然后就是手写算法,GG了。

    又收到知乎的面试通知,大数据仓库开发岗。第一轮视频面,手写SQL,第一轮的面试官挺不错,我回答问题还一直不错不错,一个本科生挺不错的,又说你大三啊,我们这边可能需要应届生,
    顿时感觉就凉了,面完之后刚要关电脑出去,知乎打来电话说二面。接着进行了二面,问的很多,也是手写SQL,最后我问面试官我还有下一面吗?面试官笑嘻嘻(结果再也没有收到通知)。

    上面大概是我上学期的面试经历吧,这是面经地址: https://blog.csdn.net/qq_37142346/article/details/85204582

    然后回到家中,大概快过年了吧,投了爱奇艺,收到了面试通知,大数据开发岗位。先看面经吧。
    一面:

    1. Spark Streaming项目的流程,对接kafka的两种方式
    2. Spark Streaming的工作原理
    3. Spark 的工作流程
    4. Spark Streaming中的batch如何实现的
    5. Sqoop的调优参数与工作原理
    6. bulk load的原理
    7. java中object的方法有哪些?
    8. java创建线程的方式有哪些?
    9. hashcode和equals方法
    10. HashMap的实现原理

    二面:
    介绍项目
    介绍设计模式,手写单例模式,优化代码
    手写二叉树的中序遍历的非递归方式

    大数据岗二面凉了,又收到了爱奇艺后台开发岗的面试通知,当时面完之后问我什么时候能到岗,下学期(大三下)可以吗?我说可能要和老师商量下,
    面试官说你们没课吗,我说有但是不多,不是专业课,然后面试官:“你翘课吗?”。。。。然后没有收到通知。

    大概紧接着就过完年了吧。

    记得是2月多吧,看到阿里云招聘信息,投了简历,报着试试的心态,但是一直没有收到通知,以为凉了,结果2月中下旬吧收到了电话面,是个女面试官。
    当时电话打过来晚上九点多,说十点多电话面,让我准备一下。面的是阿里云大数据岗(30分钟)。
    1.介绍项目。
    2.说说Spark Streaming实时处理数据的链路
    3.Spark Streaming与kafka的两种集成方式与优缺点。
    4.谈谈对Hadoop与Spark的理解。
    5.说说Hive与HBase的区别
    6.说说Hive的底层原理
    7.HBase的底层原理
    8.MapReduce的原理。
    9.谈谈对Kafka的认识,Kafka的分区分配算法。
    10.HBase的使用场景。
    11.谈谈NoSQL。
    12.UDAF与UDTF。
    13.说说数据倾斜,以及发生的原因,如何解决。
    14.说一下java集合类,说说HashMap的原理。
    15.谈谈JDBC底层原理。

    感觉上面问题回答的都还可以,有的问题就是自己的看法,但是刚开始说对我的项目挺感兴趣的,但是由于自己没准备好,结果项目没说好,结结巴巴,结果就直接问下面 的
    问题,后面也没有收到回复。

    然后差不多春招开始了吧,牛客网上投了同程艺龙,收到了视频面,看下面面经:

    ?说一下熟悉的数据结构以及操作。
    给定一个表达式,使用什么数据结构来计算。
    二叉平衡树
    二叉树的后序遍历
    虚拟内存的理解,分页式,分段式,段页式。
    系统的调动方式,动态链接以及静态链接。
    读写磁盘的原理。
    TCP的状态,三次握手。
    HTTP状态码。
    java重写与重载。
    java锁的实现机制。
    java线程的启动方式
    java的基本数据类型。
    C语言的static,char++与long++。
    java的String类型,StringBuffer与StringBuilder。
    Servlet的生命周期以及如何接受客户端请求。
    java并发包的常用 接口以及类。
    ConcurrentHashMap的实现原理。
    说说对数据库的理解。
    Mysql如何实现SQL查询的。

    面完之后问我了解他们公司吗?以后意向工作城市,然后又没有女朋友,我说有(其实没有,当时脑袋秀逗了,说错了),然后问你女朋友啥专业,是不是和你一个专业,
    以后考研还是工作,家在哪里,接着问我是不是独生子女,父母在干嘛(第一次遇到这么问的,感觉挖户口了??)。然后牛客网回馈不合适,挂的原因也不太清楚。

    ?大概是3月初吧,前面提到阿里云,一直没有消息,以为挂了,结果晚上十点(有时晚上10点)收到电话面,面试官说方不方便面试一下,我说上周不是一面了吗?
    面试官说没有吧,然后我问了一下他们说是后台开发,我说上周是大数据开发,面试官反应过来了,说可能是那边觉得不太合适,推到我这边了吧。于是我又开始了一面(30分钟):

    说说你最拿手的一个项目
    怎么查看消失的一个进程
    Set和List的区别
    打印GC日志
    JVM GC的过程。
    进程和线程的区别
    死锁的条件以及预防死锁。
    ARP协议。
    局域网,城域网,广域网
    线程池
    说说mybatis

    哦,想起来了,在那天晚上之前还有一面,阿里云数据研发中心大数据岗位,80分钟。

    主要问了一些开放性的问题,比如:
    spark为什么使用scala开发
    Flink和spark的区别
    Spark源码,源码中给你印象最深的是哪部分。为什么要读源码,从源码中学到了什么
    前面的部分感觉说的还可以,接下来又问了两道java并发的场景题,没回答好(当时以为不会问基础,忘了没复习并发知识)。
    最后两道DP算法。

    接着面了阿里菜鸟,算是提前批吧。
    一面(50分钟):

    一分钟自我介绍。
    spark项目的难点。
    spark的执行流程。
    如果worker节点宕机怎么办,如果在处理任务呢。
    Posix算法,如果同时*出两个leader怎么解决。
    Kafka的数据怎么存储以及存储结构。
    kafka里面为什么使用会有partition数据结构,这样做有什么好处。
    ConcurrentHashMap的底层原理。
    说说红黑树,HashMap中为什么用红黑树不用平衡二叉树。
    快速排序。

    大概在12号吧,阿里云打电话说一面通过了,然后菜鸟这边也通过了说帮我内推,选择了菜鸟,(当时蚂蚁中间件也打电话说点他们链接,我说这边已经在流程中了)。

    然后进行了菜鸟二面(40分钟),全称聊项目,最后一道分布式场景设计题。最后结果出来了,也就是今天,官网显示已挂。(菜到自己都不知道什么问题回答错了 😓 😥)。
    很难受,这也是我写面经的原因。。。内推算是凉了。

    哦哦,差点忘附腾讯面经了(40分钟,面试官说后面会有通知,结果未知):

    数组和链表的区别
    使用java语言如何创建单向链表。
    反转链表。
    找出两个字符串中的公共最长子串。
    找出一个整数数组中出现次数最多的数。
    判断一个字符串是不是两个有序的字符串交错组成的。
    怎么判断链表是否有环。
    说说动态规划。
    知道哪些排序算法,桶排序知道吗。
    给定一个数组,如何建立一个最大堆。
    hashmap的实现原理。
    进程和线程的区别。
    线程死锁。
    进程的通信方式。
    TCP三次握手。
    NAT 局域网中的一个ip怎么访问外网。
    HTTP状态码
    浏览器输入一个网址到服务器请求的过程。
    有哪些HTTP服务器。
    nginx和Apache服务器的区别。
    C++中引用和指针的区别。
    什么是内存泄漏。
    java中Object类中有哪些方法。
    wait和notify方法为什么加同步锁。
    知道哪些字符编码,解决了哪些问题,详细说明UTF8编码。
    java中有哪些锁,说说自旋锁。
    java的引用类型