面试一个 3 年 Java 程序员,一个问题都不会!

简介: 面试一个 3 年 Java 程序员,一个问题都不会!

image.png大家周末愉快,当你看到这篇文章的时候,事情已经过去几天了。

刚从洽谈室走出来,心情很复杂!

栈长面试过很多人,不乏知识渊博、技能顶尖的选手,但从未遇到过工作了三年,却一个问题都答不上来。。

这场史无前例的面试,我和面试者的脸上都写满了尴尬,最后戏剧性收场。

面试者工作了三年,简历上写满了各种前沿的技术,如:Spring Boot、Spring Cloud、Dubbo、RabbitMQ……

自我介绍没什么亮点,能想起来的就是他说的前后端分离了,下面便进入了尴尬模式。。

栈长:你刚说到你们做了前后端分离,你能说下前后端分离有哪些规范吗?

他:规范?没有什么规范啊。

栈长:怎么可能没规范呢?

他:(他想半天)……就是后端返回 JSON 数据,前端人员根据一个文档来开发。

栈长:就这么简单么,还有别的么?

他:没有别的吧!

栈长:那后端接口设计没任何规范吗?别人拿到 URL 不是可以随意调用么?

他:有 MD5 加密什么的吧……

我接着问怎么处理加密逻辑的,又说不出所以然了,显然我对前后端分离相关回答是非常不满意的,我接着对这个话题继续展开了连环炮,考验下他的技术攻底到底怎么样。

栈长:那后端向前端怎么返回 JSON 格式的数据呢?

他:(吱唔……抓头发,眼神漂浮不定……)

栈长:这个问题的难点在哪?

他:没有难点,只是我不知道。

栈长:(这都不知道,考下他 Spring 常识吧!)那 Spring 里面怎么注入一个对象?

他:(吱唔……抓头发,眼神漂浮不定……)

栈长:(Spring都不知道,考下他 Java 常识吧!)那 Java 里面怎么实现多线程?

他:(吱唔……抓头发,眼神漂浮不定……)

栈长:那 JVM 里面分为哪些内存区域?(感觉问不下去了,最后一个问题了)

他:(吱唔……抓头发,眼神漂浮不定……)

栈长:(真心问不下去了……)你是做 Java 的么?我都没往深里啊,这么简单的都不会

他:最近面试都没人这么问我……我怀疑我是个假的吧!(然后垂下头)

栈长:建议你回去好好复试一下吧,这样面试不通过的,不好意思。

……

…………不能完全还原面试现场,以上只是部分内容回顾。

整场下来,给我的感觉就是,他一个问题都没有答上来。 。

面试完,尴尬收场,不知道说什么好。但从整个面试环节以及他的脸上,我读到了他的尴尬、汗颜、无地自容……

事后我也回顾了这场面试,面试者很有伪造简历及工作经验的嫌疑,也或许是他在单位写 CRUD 写多了,很多基础的知识都忘记了。

不管怎么说,回过头来想,即使每天 CRUD,也不可能一个问题都答不上来啊,关键问的都是常用的基础知识,还工作了三年,不知道大家怎么看,反正我觉得挺不可思议的。

现在的程序员啊,要么牛的一比,牛马蛇神啥的都能说一套,要么菜的一比,一个问题都不会,人与人之间的差距真的太大了。

工作三年了,还不如一个刚毕业的,程序员们,真的要对自己有要求了,技术上每年都要有所提升,不然和咸鱼有什么区别?又凭什么要比实习生更高的薪水?用什么来支撑?

为什么说面试造火箭,工作拧螺丝,这不是笑话,如果你只会拧螺丝,那你永远只会在最底层,即使来了造火箭的活,你也上不了。都要造火箭的薪水,为什么企业要招个只会拧螺丝的?

另外,现在 Java 开发市场简直不能太饱和了,人才太多,鬼才也多,培训机构两三个月就能培训出来一大批,编程门槛何止之低,竞争又何止之大,不会点硬核,怎么脱颖而出?

不要拿在公司只做 CRUD 这些借口吧,这不是阻止技术能力提升的理由,既然选择了这一行,就得努力吧,闲下来多看些技术书籍,关注下技术发展动态,关键是要沉下心去学习。

最后的最后,希望本文能对大家有所启发,哪怕是那么一小部分人也是好的。


相关文章
|
14天前
|
存储 算法 Java
惊!Java程序员必看:JVM调优揭秘,堆溢出、栈溢出如何巧妙化解?
【8月更文挑战第29天】在Java领域,JVM是代码运行的基础,但需适当调优以发挥最佳性能。本文探讨了JVM中常见的堆溢出和栈溢出问题及其解决方法。堆溢出发生在堆空间不足时,可通过增加堆空间、优化代码及释放对象解决;栈溢出则因递归调用过深或线程过多引起,调整栈大小、优化算法和使用线程池可有效应对。通过合理配置和调优JVM,可确保Java应用稳定高效运行。
93 4
|
20天前
|
算法 Java 程序员
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
50 9
|
18天前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
37 1
|
2天前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
20 10
|
22天前
|
消息中间件 缓存 算法
Java多线程面试题总结(上)
进程和线程是操作系统管理程序执行的基本单位,二者有明显区别: 1. **定义与基本单位**:进程是资源分配的基本单位,拥有独立的内存空间;线程是调度和执行的基本单位,共享所属进程的资源。 2. **独立性与资源共享**:进程间相互独立,通信需显式机制;线程共享进程资源,通信更直接快捷。 3. **管理与调度**:进程管理复杂,线程管理更灵活。 4. **并发与并行**:进程并发执行,提高资源利用率;线程不仅并发还能并行执行,提升执行效率。 5. **健壮性**:进程更健壮,一个进程崩溃不影响其他进程;线程崩溃可能导致整个进程崩溃。
27 2
|
22天前
|
存储 Java
Java面向对象面试题总结(上)
在Java中,重写(Override)与重载(Overload)是两个重要的概念,关联到方法的定义与调用。重写是指子类对继承自父类的方法进行新的实现,以便提供子类特有的行为,其关键在于方法签名一致但方法体不同。重载则允许在同一个类中定义多个同名方法,只要参数列表不同即可,以此提供方法调用的灵活性。重写关注多态性,而重载强调编译时多态。
18 1
|
22天前
|
NoSQL Java 数据库
2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]
这篇文章是一份详尽的Java面试题总结,涵盖了从面向对象基础到分布式系统设计的多个知识点,适合用来准备Java技术面试。
2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]
|
11天前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
50 0
|
19天前
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的"Hello, World!"示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
37 0
|
22天前
|
存储 缓存 安全
Java多线程面试题总结(中)
Java内存模型(JMM)定义了程序中所有变量的访问规则与范围,确保多线程环境下的数据一致性。JMM包含主内存与工作内存的概念,通过8种操作管理两者间的交互,确保原子性、可见性和有序性。`synchronized`和`volatile`关键字提供同步机制,前者确保互斥访问,后者保证变量更新的可见性。多线程操作涉及不同状态,如新建(NEW)、可运行(RUNNABLE)等,并可通过中断、等待和通知等机制协调线程活动。`volatile`虽不确保线程安全,但能确保变量更新对所有线程可见。
15 0