2017暑期实习面经分享(大数据&Java&后台)

阿里(内推一面,卒) 时间:3月初;形式:电话面;岗位:Java研发(分布式方向) 内容: 1、Java的内存管理 2、现有的GC算法 3、HashMap是不是线程安全的,ConcurrentHashMap怎么实现线程安全 4、volatie和synchronized的原理和对比 5、tcp与udp的区别 6、socket通信的过程 7、AOP有用过吗?原理是啥? 8、熟悉哪些算法? 9、线性回归的原理? 10、用过哪些机器学习算法?简单介绍下 11、Hadoop的MapReduce 12、HDFS的基本原理 13、Spark的架构 14、HBase的基本原理和架构,读写性能对比(读快还是写快) 15、HBase与传统关系型数据库(如MySQL)的区别 16、简单介绍下B+树,为何MySQL以B+树作为数据结构 17、事务的四大原则 18、CAP原则 360(笔试+一面,卒) 时间:3月下旬;形式:视频面试;岗位:大数据平台研发(偏架构底层) 内容: 1、Scala的好处 2、Java和Scala的区别 3、为什么spark要用scala写? 4、介绍下“基于Spark的xxx大数据智能分析平台”这个项目,吹项目……(技术选型为什么等等) 5、对spark streaming的了解,为什么要用spark streaming做流计算层,对其他流计算框架的了解 6、介绍下Spark任务提交之后发生了什么 7、如果一个Task发生问题了,spark系统怎么去感知和定位?(GG了这题) 8、Spark的运行模式(local、standalone、yarn、mesos)以及区别 9、有了解过yarn吗?简单介绍下 10、当一个Linux服务器很卡,你怎么定位问题? (内存、cpu、swap区、磁盘I/O、网卡、病毒攻击等角度出发) 11、Java的内存管理(堆和栈) 12、Java调用native方法的方式?JNI。JNI的原理?如何通信的 13、常用GC算法 14、为什么jvm GC要用“分代收集”的算法? 15、G1收集器原理 16、G1收集器与其他的区别,以及优势 唯品会(笔试+两轮技术面,offer) 时间:3月下旬;形式:现场面试;岗位:大数据开发 内容: 一面:技术基础面 主要涉及数据库、hadoop方面的基础知识,不难;另外问了数学建模的比赛细节以及大数据的项目。现场面有个好处,就是介绍项目or比赛时可以边画图边讲,这样双方的思路都很清晰。当时我就是边画平台的架构图边讲,效果不错 二面:部门老大面 全程粤语交流(◎﹏◎);主要问些开放性的题目,实际应用场景的题目,我只记得一题是:“如何判断‘女司机是马路杀手’这个命题的真伪”。当时是从MapReduce的角度出发去思考和解决这个问题的,最后写了伪代码和些许SQL。。。 华为(笔试+两轮面试,offer) 时间:4月上旬;形式:现场面试;岗位:大数据开发 内容: 基本都是聊项目、比赛和实习经历,看你做过什么,偶尔问些java基础问题。。。主要突出你的项目亮点和延伸,让面试官一方面看到你的工程能力,另一方面看到你的技术深度、思考问题的逻辑和深度。。。另外就是聊聊人生了 腾讯(笔试+两轮技术面+HR面,offer) 时间:4月中旬;形式:现场面试;岗位:后台开发 内容: 一面:技术基础面 1、Linux:如何查看系统swap的使用情况 2、TCP三次握手,重点考察序列号seq和ack的序号,画状态图 3、TCP如何保证可靠性,流量控制有什么用 4、TCP的拥塞控制 5、TCP四次挥手: 1)TIME_WAIT的作用 2)Server端同时收到很多client断开连接的请求,都需要进入TIME_WAIT,容易导致Server负载增大,如何解决 3)TCP断开连接有没有什么方式不需要经历TIME_WAIT状态 6、socket通信中,read()的返回值,及对应的情况 7、select和epoll 8、二叉树、B树、B+树的差别,画图说明;为什么大部分数据库都选用B+树作为索引? 9、MySQL的存储引擎有哪些?都有哪些区别? 10、线程安全方面:有哪些锁? 11、线程和进程的区别?进程间通信的方式? 12、20亿qq号,每个qq号唯一,都有对应自己的星座(枚举),设计一个数据结构,开放两个接口: set(qq, 星座)和get(qq)返回星座(qq为int数据类型) 二面: 全程压力面,连自我介绍都不用了,一上来就问我保研怎么保的……一脸懵逼(◎﹏◎) 1、说下“阿里天池竞赛”,特征工程怎么做的,用来做什么 2、说下你对kafka的理解 3、说下项目中社交app里面的“评论”、“发帖”、“聊天”功能怎么实现的?各自数据模块的联系 (怎么查询一个用户发过的帖子,写SQL) 4、说下app的推荐,跟spark有什么关系 5、MySQL你用什么引擎,为什么 6、说下你对Zookeeper的理解 7、socket的write()有什么参数?是否阻塞?怎么处理阻塞? 8、说下项目里面提到的性能调优(usb通信和编解码协议的优化) 9、C++和Java的区别?Java的垃圾回收算法 10、为什么报“后台开发”?说下你对“后台开发”的理解 12、最后自己主动出击,向面试官介绍了大数据项目架构的设计细节 小结:感觉二面着重看你的简历(项目、比赛、实习等),鸡蛋里挑骨头,考验你的应对能力和抗压能力,并从中找出你的亮点! 三面:HR面 大疆(笔试+两轮技术面) 时间:4月中旬;形式:电话面;岗位:Java实习 内容: 一面: 1、数学建模的比赛: 具体问了怎么做的人脸识别和原理,追问了里面的技术创新点 2、java相关: 说下对容器的了解,map、set、list之间的区别; LinkedList和ArrayList的区别 map的key能放什么,有什么限制,hashmap的插入原理(相同的key如何解决冲突); 说下TreeSet的原理; 问了j2ee三大框架 3、数据库:常用的聚合函数有哪些; 如何查询截取A表中的信息联合查询B表中的信息; having的用法; in和exist的区别 4、大数据的项目: 全程自己在说:架构设计、细节等 5、阐述一个自己熟悉的设计模式 (还有一些……待补充) 二面(终面): 4月28号电话面 1、针对涉及推荐算法的项目刨根问底了一番,最后问了如何改进优化你的推荐算法 2、针对大数据的项目刨根问底了一番,并询问做到哪一个层次,用在哪里;重点询问了数据安全那块怎么处理(提示了一个场景:平台的数据安全,如何设计暴露对外的接口才能保证数据的安全性) 3、问了常用的设计模式,重点挑了工厂模式问 3、最后问能实习多久

    推荐阅读