前言
4.26晚饭前,收到网易录用通知,开心!发面经来回馈牛客了
背景
双非一本网络工程专业,意向岗位是后台开发,语言栈是Java,寒假2月开始写简历,准备项目和面试,期间只准备了基础知识,4月才开始学习redis,spring全家桶还没看过源码,总的来说,准备的还不算充分(伏笔),简历上计算机基础知识+Java语言栈(Java基础、JVM、Java并发)
笔试面试路线
3月底开始投简历,投了20多家,阿里不敢投(怕项目给怼到死),字节也不敢投(好久没写算法,算法怕给怼到死),期间也做了十几次笔试(连续5天笔试,真的顶不住,然后目前收到面试的有:腾讯、网易、携程
第一次面试
3月底投腾讯,距离第二次笔试还有段时间,我以为还有时间准备,直接就拉我去面试了,原来提前批可以不做笔试的,心脏骤停
3.31上午一面
自我介绍
GC介绍
项目介绍
负载均衡算法,一致性哈希
BIO和NIO
三次握手四次握手,为什么不是两次握手
select 、poll、epoll
二叉树的介绍
算法:树的中序遍历
大四有课吗
工作考研
优点
反问环节
总结:面试官对我简历的点评是还不够充分,这一面后我就开始去学习redis了,第一次面试总的来说结果还算可以
3.31下午二面
自我介绍
项目介绍
深挖项目(零拷贝,内存池)凉了
NIO
线程池设计思路
ArrayList和LinkedList区别
ArrayList成员变量
链表和数组实现栈的优缺点
总结:面完之后就知道凉了,总结这次面试,最大的失败就是项目介绍,言多必失,其次就是项目并没有去深入思考,对于Netty也只是处于会用水平,这一面后我就开始继续完善项目
后续
把我捞起来了hh,4.28面试,不过现在已经是正式批hc应该不多了,难度也应该会变大,挺可惜的之前准备充分一点就不会在二面凉的,只能说机会没把握住,这次随缘面吧
网易互联网
4.10笔试
听说笔试刷了不少人,还好认真做了2333
一面4.14(30min)
自我介绍
项目亮点介绍
线程池
TCP粘包以及解决方法
Java NIO
static、final
进程通信
线程通信
http和tcp位于OSI七层模型哪层
三次握手四次挥手过程
2MSL作用
死锁的发生
索引的原理
题目:联合索引
介绍一种垃圾回收器(CMS)
hashmap
concurrenthashmap
反问
总结:发挥还算可以,但是有几次口误了,比如static但是说成能修饰类,后面我改成修饰内部类,好家伙,给我圆回来了,然后介绍垃圾收集器CMS,居然把标记清除说成标记整理,我以为我凉了,没想到当晚收到二面通知,实际上数据库我也是刚准备,索引那一块还好前一晚看了,所以这一部分发挥的不错(这应该是我进二面的原因吧hh
二面4.16(30min)
自我介绍
排序算法稳定性的理解
堆排、归排稳定性
单例模式应用场景
手写单例模式(DCL、静态内部类)以及解释原理
IOC(没读过源码只是简单介绍了思想)
项目难点亮点
实现一个int整数转化为字符串的代码(面完后才发现负数转正数没考虑INT_MIN的情况,哭!)
聊天环节:你有没有一件事,做的和别人不一样?
总结:这一面我就已经计划把redis底层和理论都学完然后开始准备IOC\AOP相关源码阅读了,然后这一面暴露出来的问题是写代码并没有去考虑边界情况,当时也没考虑周全,所以写代码的时候要首先去考虑特殊的边界情况,这个细节要注意
三面4.19(14min)
自我介绍
比赛中的困难如何解决
最有成就的一件事
小组中发生冲突怎么办?
选择该部门的原因
总结:hr面都是有固定的问题,这些常见问题最好多准备准备,14min的hr没反问,当时我以为凉了
offer
4.26收到面试通过,月底正式发offer
携程
4.15笔试
印象最深的一次笔试,为什么?有道题目的输入输出太ex了,然后用getline处理才好不容易转化成图,处理输入输出就花了30min,可能是好久没做题了。题目不难,两道笔试题,得分情况1.9/2
一面4.22
自我介绍
项目介绍
一致性哈希
圆柱体长和半径不知道,长加+1或者高+1哪个会使圆柱体体积更大
长方体长宽高不知道,哪个维度+1会使体积更大
get、post在tcp传输上的区别
java的布隆过滤器
反射
最近读过什么书
算法题
30个数字,找一个连续区间,使得区间和最大(最大子序列和)
时间复杂度的理解
快排底层
总结:之前也对项目进行了自我复盘,然后这一面的项目介绍深得面试官认可(介绍完项目面试官原话:这是我目前面试的当中讲的最好的一个),太感谢面试官的认可了!!!但是后面巨拉跨...
- 面试官:我们先来做几道简单的数学题吧
- 我:???(写了个公式,瞎扯了以下)
- 面试官:布隆过滤器
- 我:???(这玩意儿听过,虽然不难,但是当时确实不知道怎么说)
Java基础也有待提高,反射的介绍我不满意,然后口述算法题环节,当时并不清楚题目的意思,就只想出两种解法,实际上面试官应该想要的是分治的做法(后面的题目就和这个思想关联了起来),这一面即使过了,面评可能也挺普通的hh
小结
这几个月,确实很累,尤其是4月份,14、15、16、17、18、19晚上疯狂笔试,18上午4小时蓝桥杯,晚上两小时腾讯笔试,身体直接被掏空,导致发挥的也不是很好
我的暑期实习已经接近尾声,总的来说,是一次有难忘的有收获的经历,然后就是要开始准备提前批和秋招的东西,继续完善自己的知识体系,从这几次面试经历,我想分享几个点
- 要学会复盘,不论是比赛、项目、面试,总结和复盘能力是一个程序员一个必备的技能,面试官也会比较欣赏这一点的
- 多学会独立思考、有探索精神:我认为这是一个工程师应该具备的,做技术的应该有一套方法论(是什么为什么怎么办?)多学会自己思考,具体的就是可以读源码了解底层实现,还有就是想想你做某件事能不能和别人不一样,有自己的特点,这样才能和别人区别开来
- 有主动学习,持续学习能力:这次经历对我来说不仅是面试那么简单,更多的是去查缺补漏,然后去不断补充自己所欠缺的知识
- 不要丢下基础知识,只是作为科班的基本筹码
- 为就业做准备:多去提前了解意向岗位,提前写简历(去年算法和刷题花太多时间了,今年为了找工作工作将重心调整了过来,虽然是Java语言栈,实际上除了课程设计,基本没有什么开发经验,后续就要开始工程方面的实践了
- 劳逸结合、调整心态:人是会累的,所以也要适当休息
全部评论
(10) 回帖