前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【火爆】Java求职面试八股文:来一场面试全垒打!

【火爆】Java求职面试八股文:来一场面试全垒打!

作者头像
博文视点Broadview
发布2023-08-09 08:59:03
3150
发布2023-08-09 08:59:03
举报
文章被收录于专栏:博文视点Broadview

(先来个笑话轻松一下)

咱们是互联网大厂,一定得选最好的技术栈,雇跨国公司的顶级工程师,构建最高级别的软件系统,代码最少也得几十万行。

什么数据库呀,分布式呀,云计算呀,能给接的全给他接上,服务器上有备份,代码里有日志,架构里有缓存,业务逻辑中有集群。

戴眼镜,特专业的那种,开发人员一上班,无论有问题还是没问题都得问:Could I assist you, Sir ?

一口地道的编程行话,倍儿有面子。

公司里再建一所培训学校,教程用MIT的。

一堂课程就得几千美元。

再建一个国际技术会议中心,全天候开放。

就是一个词儿——高端!

参加会议就得花个几万的。

周围的同行就用Java,

你要是用一个脚本语言,你都不好意思和同行聊天。

你说这样一行代码得卖多少钱。

我觉得怎么着也得十万美元吧。

十万美元?!那是成本。

二十万美元起。

你别嫌贵,还不打折。

亲爱的程序员求职者们,相信你们一定深有体会,求职面试这条路有多难走。

首先,让我们来看看这个卷得让你喘不上气来的Java领域。

Java基础知识,多线程,并发编程,集合原理,JVM原理……啊!别跟我提这些!面试官一下子拿着这些知识点就冲你扔过来,还有那魔幻的Java框架,你要是不懂Spring全家桶、Dubbo、Netty、MyBatis等,就别想踏进这个行业的大门。

没错,Java领域可是卷得一塌糊涂啊。

程序员在找工作时,经常会出现这样的困惑。

1)“面试造火箭,工作拧螺丝”,为什么会出现这样的问题?为何其他行业好像没有出现这样的问题?

2)面试为什么总是被问底层原理和算法。

3)面试的时候与面试官沟通得很好,但最后没给我发Offer,这是为什么?

下面先来帮助大家了解程序员这个行业找工作的“潜规则”。

01

如何理解“面试造火箭,工作拧螺丝”

关于“面试造火箭,工作拧螺丝”,很多求职者认为这个现象不太合理,“我做了这么多年开发,虽然不太懂原理,但是你让我去写代码肯定没问题啊!你问的这些原理,我工作中又用不到,怎么可能回答得上来?而且,你招人进去最后还是做业务开发啊!”这是很多程序员的内心独白。对于这个问题我们从两个方面来说。

1)国内程序员的现状。下图是从Mob研究院的调研报告里面获得的。

从图中可以看到,国内程序员人数几乎每年都在增长,到2020年,国内程序员人数突破了250万。中国软件行业协会教育与培训委员会在2021年3月出的一份“2020年度软件和信息服务技术人才供需现状研究报告”也验证了这个数据的真实性。在这份报告中估算了2020年国内程序员总人数大概在280万,虽然这两组数据有30万的差额,但是也从侧面说明了国内程序员人数基本上在这个量级。2020年中国程序员各类工程师占比如下图所示。

程序员人数的逐年增长,带来的其实就是行业的竞争压力更大。对于企业来说,选择会更多。要知道,企业招聘的名额是有限的,当一个企业发布一个岗位需求,但是收到了上百份简历时,企业就有了选择的权利,对于学历、背景、项目经历、工作年限都会提出很多要求,甚至薪资还会压得比较厉害。即便是这样,你也得认,因为对你来说,选择权不在你,而是在公司。但是,如果反过来,企业招聘需求很大,但是来面试的人很少,这个时候,公司就会降低要求,学历、背景等通通不重要,只要你能做开发就行。但现状是,程序员人数每年都在增加,再加上市场行情的变化,实际上是一种供过于求的状态!

2)企业面临的人才筛选困难。在Java这个领域,没有一个能够被大家认可的评级标准。不像学历教育,你是985、211出来的,就能证明你很优秀,但是软件开发却没有这种标准。企业在做人才选拔的时候,也很头痛。企业除了通过你的简历和你的项目经验去了解你,以及在沟通中去了解你用过的技术,没有其他方法对你进行深度测评。另外,Java技术生态发展了20多年,已经非常成熟了。任何一个0基础的人,只需要通过3个月的培训,就能上岗写代码,完成基本的业务逻辑开发。大部分业务程序员只需要掌握几个基础框架,就能够应对90%的问题。这种现象导致了两个问题:

  • 因为在工作中对技术能力要求不高,所以开发人员过多地关注业务,导致技术的沉淀非常少。
  • 对企业来说人员的可替换性更高了,工作3年和工作6年,除业务上更加熟练外,在技术上的差异并不大,再加上技术生态足够成熟所以工作3年也能够完成公司的开发任务,因此企业可以选择成本更低、更年轻的人。

基于上述种种,导致企业在面试的时候,如果只关注你做的项目和技术的使用,是无法区分你和其他求职者之间的差别的。因此只能在面试的时候不断地试探你的技术底线,从各个方面去寻找一些能够让面试官录用你的理由。这里有一个非常简单的常识:“造火箭的人可以随时去拧螺丝,但是拧螺丝的人能去造火箭吗?”一个对技术底层原理掌握得好的人,在实际开发中,编码能力和解决问题的能力一定要比那些不懂技术底层原理的人更强。

02

优秀人才的有效选拔

很多一二线的互联网公司,他们对于招聘岗位的要求很高,但同时会给到这个要求匹配的薪资。

两个同样工作年限和工作背景的人,一个要2万元,一个要3万元,如果要3万元的那个人确实很优秀,那么有些公司宁可给出3万元去招这个人。

所以,从这方面来说,企业为了更好地去识别“优秀人才”,除了了解你的工作背景和项目经历,还会从各种技术底层的实现原理,以及算法等问题去进行考核。

古人云: 求其上者得其中,求其中者得其下,求其下者无所得。虽然对于求职者来说,非常不友好,明明是进去写业务代码的,但是面试的时候各种“刁难”。但对于企业来说,这确实是一个非常有效的筛选手段。

另外,随着公司业务规模的扩大,一旦接到新的需求,如果确定要做,那行动必须要快,临时招人太慢了。所以只能安排现有团队的人员来做,这个时候,造火箭的能力就有了用武之地。如果没有这个能力,导致项目交付延期,最终带来的损失反而更大。

03

面试聊得很好,但是没有收到Offer

有些小伙伴明明感觉自己面试表现得很好,但是却没有收到Offer。有些人在面试中表现得很一般,却收到了Offer,搞不清楚为什么?

首先要明白的是,好的公司的招聘岗位竞争是非常激烈的。笔者以前招人的时候,就一个Java高级开发岗位,招聘旺季的时候每天大概会收到70多份简历。经过HR筛选完以后,到笔者这边的简历大概会有30份左右,笔者这边再做一次筛选后,会让HR约过来面试。大家想想,这么多人来竞争一个岗位,你是最优秀的吗?如果你很优秀,那你的性价比是最高的吗?所以,在面试过程中表现不错,但没有收到Offer,无非有以下几个原因。

1)你太贵了。

2)在求职者里面有比你更优秀的人。

3)因为公司内部调整,这个招聘名额“被锁了”。

反过来说,如果你面试表现一般,但是你被录取了,也很简单:

1)你的性价比是求职者里面最高的。

2)综合对比下来,你可能是所有求职者里面表现相对较好的。

3)你在面试的时候有些问题回答得还不错,面试官正好看中了这些点。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档