携程后台研发面经(已Offer):
1. 3.9一面:35min
自我介绍
算法:分梨子
自己说说JAVA多线程的问题和解决方式。
反问。
1. 3.15二面:40min
自我介绍
聊聊项目中的redis主要有什么用?
Redis或者MySQL宕机了怎么办(高可用+redis消息通知,说了下消息队列)
算法题:
找出一个字符串中连续出现次数最多的字符和次数。
再来这题的变式:
如果这些字符有大写和小写混杂,并且要求最后输出的不是连续的字符,而是整个最长连续的字符串怎么办?
如果多线程执行这个算法题代码,会有什么问题,怎么解决?一定要用concurrentHashMap来代替HashMap才能保证安全吗?
反问。
2. 3.20 HR面:12min
聊了一下面试过程中自己的体验。
问了一下未来的规划(工作还是读研)
问了一下我的项目经历怎么得到的。
给我介绍了一下我实习入职后的岗位(大住宿)
介绍了一下工作时间,工资和补助等。
聊了聊到职时间。
反问:
问了问工时的弹性。
多久能收到电子offer?(因为是周六,所以hr小姐姐回答说下周发电子offer)
另外,hr小姐姐声音很好听,而且还是跟我一个学校的,超赞!!!
3. 3.26收到电子offer(携程2021春招完美收官!!!)
感谢携程爸爸,给了暑期第一个实习offer!!!
许愿剩下的其他大厂的Offer,期待剩下的其他大厂的Offer!!!
腾讯后台研发:
1. 3.10 一面:1h40min
自我介绍。
因为没有面试,所以面试官给了我一套腾讯笔试题(全是C++,而我擅长的是JAVA,只是在学数据结构的时候学了学C++),所以我如实给面试官说我比较擅长JAVA,C++只会一些,然后面试官给了我一个小时去做,大概这些题里面就是考察一些C++基本知识和用法,以及网络的知识(TCP传输相关的计算题),Shell编程,以及两道算法题:二分查找和找出10亿个数字中最大的10个数。
一个小时做完后,面试官就根据我的做题情况问我问题,问了一些做错的题,问我怎么想的,有的题做错是因为我有点不太熟悉C++了,所以我就跟面试官说在JAVA中,这个题应该是什么情况。
因为我Linux的Shell命令好久没用了,就没做出来,但我说我可以用JAVA去代替Shell解析文件,面试官说可以,但是Shell会方便很多,让我还是要知道怎么用。
最后两道算法题,第一题AC了,第二题说了一下算法(本来我用的是最笨的归并排序来解,但是面试官觉得复杂的很高(确实),然后就问我有没有新的想法,我说遍历整个10亿个数,然后建一个10个数的容器,没满时,就往里面加,满了后,就进行替换(最小的出去),然后面试官就引导问,那这个容器用什么呢?我马上说到最大堆可以,面试官好像还比较满意,然后就问了问复杂度,大概是O(n)。
问我TCP,UDP这些网络知识都熟吧,然后我说了熟,就差不多了。
反问环节。
腾讯一面面试官真的很好,都会耐心引导你去解决问题!!!
2. 3.12 二面(挂了):
自我介绍。
问了HashMap是否线程安全,怎么解决?(concurrenHashMap)
如何解决hash冲突?(修改hash函数,其实还有线性探测,平方探测等)
如何修改hash函数?(有点紧张,当时没答出来)
问了我项目中使用Redis的原因,我说解决高并发(分布式锁)和用作缓存(还有订阅通信等)。
然后问我我的一个校园健康打卡项目的并发量有多大?安全性高不高?腾讯果然是大公司,我这个项目被怼的体无完肤,提到我的项目的安全性不太高,问我怎么解决的,还有并发量这么小,用Redis是不是大材小用了。(整个项目基本上被吐槽的差不多了)。
接着又问了我Redis的负载均衡策略(这个当时我还不太了解,其实有读写分离集群,数据分片,Redis-cluster等)
然后面试官问我Redis数据分片的原理,我当然当时还是一脸懵逼。
然后面试官又问了我HTTP和HTTPS的区别。(包括SSL的加密过程也答了)
SSL的非对称加密算法有哪些?(我没上过密码学的课,所以有点懵,后面才知道有RSA,ECC椭圆曲线等算法)
最后直接没有反问环节,我就知道自己凉了。
害,项目细节和知识细节还是痛点啊。
腾讯PCG客户端研发:
这个部门应该是从上一个挂掉的后台研发捞起来的,感谢腾讯爸爸捞我。
1. 3.19 一面(50min):
自我介绍。
项目中有没有出现过OOM?由于怎么样的代码导致的?(死循环,大量数据加载等)
算法题:
输出前序二叉树。
判断链表是否有环。(快慢指针)
求数组中第K大的值。(先开始说用最大堆来做,但是面试官让代码实现,我说代码会比较复杂(堆的建立和删除节点),太多了,可能一时写不完,于是我换了用快排(最原始的方法)来解决,于是面试官让我实现了快排)。
分析了上面三道算法题所用的算法的各自复杂度。
反问环节。
2. 3.22 二面(45min):
自我介绍。
讲一讲你的最有技术含量的项目?你在这个项目中主要做的是些什么?
有接触过客户端开发吗之前?
面向对象的特点?
JAVA多态说一下?
线程和进程的差别?打开一个APP,动态请求和加载图片是怎么用到多线程的?在这个过程中,哪个操作可以算一个进程?
JAVA创建多线程的方法?(2种,Thread和Runnable)
设计模式知道吗?
算法题:蛇形数组。
反问环节。
反问环节,面试官说我在本科生阶段算是比较好的了,没有什么问题就推我下一面了。
我不知道下一面是技术面还是HR面了,很期待能直接HR面了,但是面试官说下一面再来具体看看你适不适合,就感觉下一面还是技术面。
不过还是许愿下一面是HR面吧,不要再技术面了!!!
许愿HR面,许愿腾讯暑期实习offer,跪求腾讯爸爸的暑期实习offer,求求啦!!!
美团后台研发:
1. 3.23一面:
自我介绍。
看你的项目里用了redis,讲一讲redis怎么用的?
看你的项目里用了kafka,讲一讲消息队列用来做什么?
JVM:栈溢出,讲一讲JVM栈存什么?对象的引用什么时候放入虚拟机栈的?
讲一讲JVM垃圾回收策略(新生代,老年态)
线程和进程的区别?
线程池七个参数?线程池调用过程?
OSI七层模型,TCP/IP/HTTP所在层。
HTTP状态码。
TCP/UDP区别。
TCP三次握手
公平锁和非公平锁
说一下乐观锁和悲观锁。
说一下sleep()和wait()的区别,sleep(0)用来做什么?(在线程中,调用sleep(0)可以释放cpu时间,让线程马上重新回到就绪队列而非等待队列,sleep(0)释放当前线程所剩余的时间片(如果有剩余的话),这样可以让操作系统切换其他线程来执行,提升效率。)
算法题:二叉树层次遍历。
反问环节。
许愿美团后台研发二面!!!
2. 3.25二面(20min):
拉家常,聊未来计划。
为什么想加入美团?
聊一聊学生会的工作和觉得做的比较自豪的地方。
聊一聊做的项目中觉得最有趣的一个,然后说说为什么?
如何实现的分布式锁?
场景题:三台机器,第一二机器先运行,然后才让第三机器运行,如何实现?(基于分布式锁的云服务器信号量优先级顺序访问)
说一下你们项目中如果前端cookie被浏览器禁用了,怎么办?(我说我们项目用了token,将token塞入HTTP请求头进行用户信息传输)
反问环节。
感觉这次面试是个leader,但是很好说话,超和蔼!!!所以还是祈祷一下能过吧,毕竟只面了20min,也没手撕代码,有点慌。求求能进美团后台研发三面!!!祈求美团后台研发三面!!!许愿美团后台研发三面!!!
3. 3.26hr面(10min左右):
就是拉家常,聊一聊现在情况和计划,问了下美团在我心中的地位,和携程,腾讯怎么选?(当然是美团好啦)
然后就说她们讨论一下,如果没有什么问题,就走offer审核了,最慢下周会有结果。
反问环节:
多久出结果?(最快这周,最慢下周)
能不能给联系方式,随时了解进度?(说如果决定发offer,会主动加我微信,跟我聊相关内容的)
感觉这次美团面试还是体验非常好的,没想到一周就走完了面试流程。那么接下来就许愿美团爸爸的暑期实习电子offer了!!!期待美团暑期实习电子offer!!!祈求美团暑期实习电子offer!!!
后面还有阿里(蚂蚁金服)的JAVA后台研发的笔试和面试。
后面会持续更新各面试的热面经和凉面经(希望只有热面没有凉面!!!),欢迎大家沟通交流,给我这个小白多点建议,助我拿到更多的大厂暑期实习offer!!!
最后,感谢携程爸爸给我的第一个暑期实习电子offer!!!
然后接下来期待(祈求)美团后台开发,腾讯pcg客户端和阿里(蚂蚁金服)JAVA后台开发的暑期实习电子offer!!!
求求啦!!!
许愿剩下的大厂offer啦!!!
全部评论
(12) 回帖