分享面经与总结(京东+搜狐+CVTE,offer已get)

http://blog.csdn.net/qq_33290787/article/details/70768592

曾经有学弟问我,复贵学长很久都没写博客了,想想,确实是很久没写了。现在写下的这篇博客,正记录2017年春招两个月来的求职经历,终于还是收到了满意的offer,回想起来这段时间,真是刻骨又铭心。


基本情况:北理工软件学院大三本科生,简历上三个项目(自己设计需求,设计技术难点,并不是课程大作业) 
我的求职意向是:Java研发工程师 
面试经历:阿里巴巴蚂蚁金服支付宝、携程机票研发部、华为IT应用软件、CVTE,搜狐产品技术部,京东。 
被淘汰:蚂蚁金服,携程 
已收Offer:京东,搜狐,CVTE 
待定:华为


阿里巴巴(一面)

阿里找了一个北邮学长的内推,准确来说应该是直推,是他帮我直接录的简历,他本科进的阿里蚂蚁金服,厉害吧?是真的佩服。第一次在官网上填资料,想想马云有多出名,想想蚂蚁金服这样的顶级技术,有些兴奋,有些期待。 
录完简历后等待简历评估,原来,找内推不一定能得到面试机会,能不能得到面试机会要经过简历评估(我这才知道,原来内推免笔试可不是那么容易的…..),毕竟内推能免去在线笔试直接面试,互联网第一梯队像百度、阿里,腾讯的笔试真的很有难度,做过前几年这些公司的笔试题,真的太难了。在阿里的校招群里看到很多研究生研究算法,前端,java研发的,简历评估后直接变成已回绝没有得到面试机会。心想,我一个本科生,java研发都是自学的,项目都是自己设计的需求,简历也就一张纸,究竟能不能得到面试机会? 
填完资料的一个星期后收到了支付宝的面试电话,突然变得好紧张,居然得到了面试的机会。

  1. 自我介绍
  2. 简单的介绍一下你的项目
  3. 一个有500个用户的广播系统,你怎么做性能优化
  4. 当用户提交请求后,却立即按撤回按钮,涉及性能的数据落地问题你怎么处理
  5. Lucene底层实现原理,它的索引结构
  6. ibatis跟hibernate的区别
  7. ibatis是怎么实现映射的,它的映射原理是什么
  8. Java I/O底层细节,注意是底层细节,而不是怎么用
  9. 你对mysql有什么了解
  10. 说一下数据库事务的四个特性,为什么mysql事务能保证失败回滚
  11. mysql数据库的锁有多少种,怎么编写加锁的sql语句
  12. mysql什么情况下会触发表锁
  13. 页锁、乐观锁、悲观锁
  14. tcp三次握手的过程
  15. 进程跟线程的区别
  16. redis的操作是不是原子操作
  17. ArrayList跟LinkedList的底层实现原理,使用场景
  18. B+树
  19. 一道算法题,在一个整形数组中,有正数有负数,找出和最大的子串
  20. 动态规划的思想
  21. 你有什么想问的

阿里一面过后变得怀疑人生,真的好多不会好多底层原理没答出来,第二天查状态,变成已回绝了。原来学习不能只学表面,作为一名研发人员,只知道怎么用是不够的,更多的应该知道底层原理,不然出现了性能瓶颈你怎么优化?你怎么扛得住每秒千万甚至亿的并发量?

有很多底层问题没答出来,接下来干嘛?学啊!


携程(一面)

携程又找了内推,直接面试。

  1. 自我介绍
  2. 介绍一下项目
  3. 你的并发项目有做过压测吗
  4. haspmap的底层实现原理,怎么解决冲突问题
  5. haspmap是否线程安全
  6. object对象的常用方法
  7. 你有什么想问的

携程一面后被淘汰,其实问题很简单,当初被淘汰了感觉很不解,有些郁闷,只不过是稍微犹豫了一下线程安全问题而已,最后也答对了。但现在想起来,连haspmap是否线程安全都要考虑,根本就不是一个合格的java工程师,被淘汰也是理所当然的。突然感觉自己学的好不扎实,变得有些焦虑,连java基础都存在问题,接下来干嘛,学啊!


被阿里跟携程拒绝后的一个多星期,没有接到任何面试电话,笔试了美团、今日头条,都挂了,变得没什么心情,其实之前也学了很多java的技术,但还是不牢固不全吧,继续补吧。 
虽然很低落不过还是坚持天天看书。去牢实各种java基础,thinking in java再看一遍;多线程,concurrent包;集合类,每一个集合类的底层,haspmap的底层源码,concurrentHaspMap的底层源码,更多地区理解为什么,而不是怎么样;看虚拟机从内存管理到类加载;java并发编程的艺术;复习servlet/jsp技术;理解ibatis的技术要点,ibatis的底层源码;复习操作系统数据库计网每一个讲过的重点;理解MySQL的技术要点;spring的核心技术跟思想IOC、AOP、springMVC;Lucene的索引结构,检索特点,为什么拿它来取代数据库的全文检索;Redis技术要点,从五种数据结构到乐观锁事务再到数据安全主从复制持久化…..;牢记Linux系统的常用命令与操作;经典的设计模式,单例懒汉恶汉等等;复习数据结构平衡二叉树B树B+树,复习算法刷leetcode…..当然,还有很多很多。


华为(技术面+综面,等消息)

在北研所的现场面,第一次现场面,但不紧张。经过之前的两次淘汰,觉得无所谓了,随缘吧,但底气也更足了,因为之前失败后的每一天都在进步。

技术面:

  1. 你拿过什么奖学金
  2. 你是哪里人,为什么跑这么远来上大学
  3. 进程跟线程的区别,多线程能不能布到多核CPU上运行
  4. 如果我要做一个简单的个人博客系统,有文字,图片,但都量很少,访问量也少,你怎么设计
  5. 如果我的博客系统图片特别多,访问量不高,你又怎么设计
  6. 为什么磁盘I/O阻塞代价很大
  7. SSD没有磁头,为什么I/O代价还很高
  8. 现在我的博客系统图片非常多,并发量非常高,你又怎么改进

综面:

  1. 你设计的网站有上线吗?有人用吗
  2. 你的项目都是课程大作业吗(当然不是….课程大作业哪好意思写到简历拜托)
  3. 如果你保研了你会怎么选择(自己作死回答了继续读研深造)
  4. 你意向的工作城市

华为问的问题都答上了。在北研所面试的时候身边的基本都是北邮北航北***华的研究生,简历有好几页,字还特别小,各种盖章论文;跟我一起综面的是北邮研二的学长,之前在英特尔实习过,还各种实习证明各种专利各种盖章,资料给面试官一看,面试官都惊讶了….而我只有一份简历,第一次感受到了本科生跟研究生的差别,原来这么大。


CVTE(笔试+两面技术+一面hr,拿到offer)

技术一面:

  1. 自我介绍
  2. 介绍一下项目
  3. redis的五种数据结构
  4. redis是怎么存储数据的
  5. 说出所有java集合类
  6. haspmap的get方法底层原理,是不是线程安全的,怎么解决冲突问题
  7. concurrentHaspMap的底层原理
  8. 学生表,成绩表,说出查找学生总成绩大于500的学生的姓名跟总分
  9. 刚刚的问题怎么建索引优化,建索引的sql语句怎么写
  10. java的类加载过程,为什么能保证java稳定的继承体系结构
  11. 你对jvm还有什么了解,说出java内存模型以及所有垃圾收集器相应的回收过程
  12. redis使用场景
  13. 你平时都用什么mysql存储引擎,说出Innodb跟MyISAM的区别
  14. 一个算法题,给出一个字符数组,找出第一个出现次数最多的字符,注意是第一个
  15. 你有什么想问的

技术二面(视频面,手写代码的过程被面试官看到):

  1. 自我介绍
  2. 介绍一下项目
  3. 你的项目怎么实现断点续传
  4. mybatis跟hibernate的区别
  5. Spring的核心技术
  6. Spring的源码有看过吗?Spring用到哪些设计模式
  7. 怎么优化mysql,具体方式
  8. 说出你目前掌握的所有后台技术
  9. 一道算法题,在一个整形数组中,找出第三大的数,注意时间效率
  10. 你有什么想问的

CVTE面试的问题,除了concurrentHaspMap回答得有些抓鸡,其他都答出来了。


搜狐(笔试+面试,已拿到入职邀请)

搜狐媒体大厦面试,问题很少。

  1. 查找的一道算法题
  2. 怎么优化
  3. 还能不能优化
  4. 再优化
  5. 第二道查找的算法题
  6. 怎么优化
  7. 再优化
  8. 在一张白纸上手写反转链表的代码
  9. springMVC的请求流程
  10. 聊项目项目项目….打开项目代码看代码
  11. 你有什么想问的

虽然搜狐面试的问题是最少的,不过算法题那块简直是煎熬,一直问还能不能优化,怎么优化,用什么优化,面试官也很友好一直在引导,中间涉及了java的集合类的接口使用,二分什么的都涉及了,各种时间复杂度,幸好之前有准备,踉踉跄跄地虎过去了算法的考察。


京东(笔试+两面技术+一面hr,拿到offer)

一面:

  1. 自我介绍
  2. 介绍一下项目
  3. java多线程有哪几种实现方式
  4. CountDownLatch
  5. Spring的核心技术
  6. 关于数据库事务说出你知道的所有
  7. 跟面试官聊天,说了很多关于登录验证的技术问题(有些紧张)
  8. 你有什么想问的

二面:

  1. 自我介绍
  2. 介绍一下项目
  3. 把你知道的java的concurrent包的技术全部说出来(volatile、锁重入,LinkedTransferQueue字节追加提高并发度技术,ConcurrentHaspMap结合volatile的happen-before读取优化)
  4. redis的配置文件(AOF&&Snapshot&&主从复制)
  5. WebSocket长连接问题
  6. 秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis调用存储过程)
  7. 会不会写前端(会,但也仅是会写,会写jQuery,CSS3)
  8. 你平时都用什么开发工具?IntelliJ IDEA相比Ecplise有什么好(快捷键)
  9. 跟面试官聊天,讨论了很多关于后台大并发量的问题
  10. 你今后的研究方向是什么
  11. 你有什么想问的

京东的问题都答出来了,感觉特别是二面真的很体现一个人的研发功底,幸好都答出来了,跟面试官聊他们部门的后端并发技术问题,简直受益匪浅。


以上的面试题很不全的,只是记得其中的一部分,毕竟时间有点久远了,仅供参考吧。


求职的这段时间,有最深刻的体会就是学一样东西,不能只学表面怎么调用API,更多的应该往深处去理解,理解原理,理解为什么。否则,出现bug的时候可能不知往哪调,出现性能瓶颈怎么做优化?后端要亟待解决的问题不就是大流量大并发量跟安全吗?其实,单例模式有三种书写方式,哪种性能最高呢?能从jvm的角度去解释清楚吗?其实,一个简单的synchronized关键字底层涉及偏向锁,轻量级锁,重量级锁的锁升级过程,你能结合并发度去解释清楚吗?你有没有想过为什么一般的索引结构都用B+树而不是B树跟其他数据结构?TCP为什么要三次握手四次挥手?少了其中一次行不行,会出现什么问题?多终端的session问题怎么处理?cookie的安全问题怎么解决?JDK发展到1.8以来集合类各种优化,concurrent包源码的优化,有去了解吗?大型网站的架构设计有了解吗?电商场景的数据一致性问题怎么解决?redis只能扛十万的并发量,那更多的并发量怎么处理?Spring的AOP底层原理是什么?ibatis底层映射原理是什么?Java I/O的底层细节有没有过了解?NI/O的底层细节怎么做了改进?你真的懂HadoopSpark吗?你有研究过底层源码吗?还是只会调用大数据的api仅此而已?学java研发的人那么多,你怎么保证你比别人更好更值得企业聘请?


真的很感谢身边的同学,帮我分担所有的课程大作业任务,要不是有他们,自己也没那么多时间准备春招。本科生在茫茫研究生人海中要想得到大公司的赏识真的是不容易,京东二面的面试官问我为什么笔试的时候没有写编程题,我很明确的说我在研究java后端技术,所以算法部分很薄弱,笔试的编程题不会写。但不管怎样,最后他还是给予了我肯定,他说本科生能有这样的成就,很了不起了。跟我科普了很多后端技术,我也跟他讨论了很多技术问题,京东面试来来回回去了酒店三次,感觉真的不枉此行。 
大学前三年也算是有自己执着的方向,自己设计需求,自己开发项目,一个个调bug,这其中当然也有上天的眷顾,如愿收到最满意的京东offer。往后的这段时间课也变多了,各种大作业,中软杯还要比赛,还要带学弟学妹,好多事情要做,相信会变得更好的~

#阿里巴巴##搜狐##京东##携程##华为##广州视源电子科技股份有限公司##Java工程师#
全部评论
这样光发链接不太好吧
点赞 回复
分享
发布于 2017-04-26 08:52
厉害~
点赞 回复
分享
发布于 2017-04-26 09:01
阿里巴巴
校招火热招聘中
官网直投
厉害了,搜狐是只有一面么?hr面也没有?
点赞 回复
分享
发布于 2017-04-26 09:18
可以的可以的
点赞 回复
分享
发布于 2017-04-26 09:23
阿里一面这么难。。。。
点赞 回复
分享
发布于 2017-04-26 09:40
兄弟那你最后准备选择哪个呢
点赞 回复
分享
发布于 2017-04-26 09:49
同学,我想问下你京东面完多久收到的offer?我昨天刚面完hr,现在状态还是hr面试完成,最后一个面试完成的按钮还没有变红。。。
点赞 回复
分享
发布于 2017-04-26 10:18
大三的就这么厉害啊,怀疑人生了。
点赞 回复
分享
发布于 2017-04-26 12:34
老铁,又看到你了,牛啊
点赞 回复
分享
发布于 2017-04-26 13:33
查找的一道算法题 怎么优化 还能不能优化 再优化 第二道查找的算法题 怎么优化 再优化 ============== 哈哈哈哈笑死我了
点赞 回复
分享
发布于 2017-04-26 15:05
这个一面是有点难,可能跟你简历写的东西有关。如果你提到了用过/熟悉ibatis,项目使用了redis,面试官肯定会问你原理之类的,这个答不出来感觉减分挺多的。
点赞 回复
分享
发布于 2017-04-26 15:07
你是京东那个部门呢
点赞 回复
分享
发布于 2017-04-26 15:25
理工校友,**学长给你点个赞~从字里行间看得出你积极向上的心态,值得我们学习!
点赞 回复
分享
发布于 2017-04-26 22:46
ConcurrentHaspMap结合volatile的happen-before读取优化?这是社么意思啊?是不是concurrenthashMap的size()方法啊?但是的话没有happensbefore的体现啊?求解或??????????????????????
点赞 回复
分享
发布于 2017-06-16 15:29
同学有没有推荐的数据库的书籍啊?
点赞 回复
分享
发布于 2017-06-27 21:21
/
点赞 回复
分享
发布于 2017-12-16 01:31
好腻害,小白同志前来祝福牛牛
点赞 回复
分享
发布于 2018-05-23 17:31

相关推荐

#牛客在线求职答疑中# 编程题19题目描述7-15 NCHU_串口字符解析分数 20全屏浏览作者 蔡轲单位 南昌航空大学RS232是串口常用的通信协议,在异步通信模式下,串口可以一次发送5~8位数据,收发双方之间没有数据发送时线路维持高电平,相当于接收方持续收到数据“1”(称为空闲位),发送方有数据发送时,会在有效数据(5~8位,具体位数由通信双方提前设置)前加上1位起始位“0”,在有效数据之后加上1位可选的奇偶校验位和1位结束位“1”。请编写程序,模拟串口接收处理程序,注:假定有效数据是8位,奇偶校验位采用奇校验。输入格式:由0、1组成的二进制数据流。例如:11110111010111111001001101111111011111111101111输出格式:过滤掉空闲、起始、结束以及奇偶校验位之后的数据,数据之前加上序号和英文冒号。如有多个数据,每个数据单独一行显示。若数据不足11位或者输入数据全1没有起始位,则输出"null data",若某个数据的结束符不为1,则输出“validate error”。若某个数据奇偶校验错误,则输出“parity check error”。若数据结束符和奇偶校验均不合格,输出“validate error”。如:11011或11111111111111111。例如:1:111010112:010011013:validate error输入样例:在这里给出一组输入。例如:1111011101011111111111输出样例:在这里给出相应的输出。例如:1:11101011输入样例1:在这里给出一组输入。例如:11110111010111111001001101111111011111111101111
点赞 评论 收藏
转发
30 208 评论
分享
牛客网
牛客企业服务