聊聊面试
面试是一个老生常谈的问题,显而易见面试是有很多技巧的。求职过程中,有很多同学会“高估”自己的价值,盲目追求工资更高/职位更高……的岗位。这样肯定不会有好结果,求职也会陷入两难的境地,面试能通过的公司自己看不上,自己能看上的公司却连面试机会也没有。
我们Java程序员这一群体,大家都知道最好的涨薪方法是通过跳槽,在你把一个公司的精华都吸收完之后,有追求的肯定会跳去更好的公司发展自己,特别在金三银四,金九银十这样的招聘旺季里 ,会有很多需要准备的面试会有很多,上面也说了我们求职的目的不是无止境追求高工资,大平台,而是在能力范围内找到和自己匹配度更高的岗位。下面我们来看一下我一位学弟的面经来看看自己如果是面这场能否面过成功拿下Offer。
字节3面
背景介绍
我这位学弟是211 本科,面试的时候是⼤三,⽆科研经历,但是有⼀些项⽬经历,在国内监控⾏业某头部企业做过⼀段时间的实习。想着投⼀下字节,可以积累⼀下⾯试经验和为春招做准备.投了简历之后,过了⼀段时间,HR 就打电话跟他约时间,投的是北京 office。
由于篇幅限制就只简单的概述一下面试经过,细致末节就不为大家陈述了,主要给大家参考
⼀⾯
开头没有⾃我介绍,直接开始问项⽬了
1.常⽤的 Web 组件有哪些?(⾯试官没有太问问Spring,反倒是对数据库和中间件⽐较感兴趣)
2.如何保证不会重复消费,Kafka 消费组结构等等
3.Mysql 索引,B+树
4,项⽬细节,(这些因⼈⽽异,就不放上来了)
5.后⾯就是算法题了,⼀共做了两道
6.判断平衡⼆叉树
7.⼆分查找法的变种题,给定 target 和⼀个升序的数组,寻找下⼀个⽐数组⼤的数.
⼆⾯
⼆⾯⼀上来就是先让我⾃我介绍,当然还是一般面试时同样的套路。然后问了我⼀些关于Redis跟数据结构的问题。
1.zset的实现,键的过期策略,持久化等等
2.哈希表是什么
3.聊一聊红黑树
4.为什么要⽤链地址法来避免冲突?
5.探测法有哪些?
6.链地址法和探测法的优劣对⽐?
7.后⾯还跟我讨论了很久的项⽬,所以说⼤家的项⽬⼀定要做好,要有亮点的地⽅!!!
8.后⾯就是字节的传统⼿撕算法了,⼀共做了三道⼀⼆道是连在⼀起的.
9.给定⼀个规则 S_0 = {1} S_1={1,2,1} S_2 = {1,2,1,3,1,2,1}S_n = {S_n-1 , n + 1, S_n-1}
10.第⼀个问题是他们的个数有什么关系?
11.第⼆个问题是给定数组个数下标 n 和索引 k,让我们求出 S_n(k)所指的数
12.第三道是数组⼤⼩ 10000<n<100000 ,不能⽤暴⼒法,还有数字是在 1-9 之间会有重复
hr ⾯
就是⼀些偏职业规划的话题了,实习时间,项⽬经历,实习经历这些。
总结
1.基础很重要!这次准备到的 Redis,Mysql,JVM 原理等等都有问到了
2.网络很重要,虽然没问,但⽹络知识不仅仅是⾯试,还是以后⼯作的知识基础
3.Kafka 等中间件,只会⽤不会原理是万万不⾏的.并且这些基础知识不能只靠背,⾯试官还会融合在项⽬⾥⾯进⾏串问。
4.问到了不会的不要慌,因为⾯试官是在试探你的技术深度,⼼态把控住就⾏.
5.记得你不是在考试,⽽是在交流,和⾯试官有互动和沟通是很重要的,疏漏的地⽅,及时跟⾯试官反馈,还是可以补救⼀下的
6.最重要的⼀点字节的⾯试就是算法!!!LeetCode+剑指Offer ⾛起来就对了,⼼态很重要!
我来小结一下吧
这个只是校招的面试,大家觉得难度咋样?在我看来校招比社招简直友善了太多!!!我这么些年来面过也不少,社招看中的是你现在能为公司创造什么价值,校招看中的是你一两年后为公司创造什么价值。社招不同于校招,问题的范围其实是很随机的。因为能参加一些比较知名的互联网公司社招的人,70%以上都会有个3-5年的经验。
大部分公司在社招的时候,不光是阿里,其它公司也都一样(因为我在一年多前也参加过很多其它知名互联网公司的面试,基本上都分为两个阶段的提问。第一个阶段是主语言本身以及它的高级特性,第二个阶段是讲述自己的项目,并在中间穿插着问题。好在现在社招面试还有固定的问题和模式,让你可以像应届生面试一样,在面试前靠临时抱佛脚度过这一关。面试这么多场了,我也有着自己整理的一些面试资料与一些备战时都要一看的相关资料,如果有朋友需要,帮忙评论+转发,关注我之后
面试必刷!
- 面试突击手册
- 各大公司面试真题文档整理:
- 一些关于大厂面试真题视频讲解
写在最后
由于篇幅限制就只能粗略的截图展示出来了,最后要跟大家说的就是一定一定要认清自己的价值!要在能力范围内找到和自己匹配度更高的岗位。面试这一块需要注意的门道太多了,小编水平跟时间有限,也没有办法跟大家聊的太全面,不管怎样,作为Java程序员,一定不要停止学习!!!如果有朋友需要只需要评论+转发,关注我之后