Java开发---上海得帆(一面)

面试感受

这是我的第一次面试,我感觉我这次面试的很差,很糟糕,十分的糟糕,万分的糟糕。第一次面试,面试了半个小时。我去真的好紧张,脑子里一篇空白。脑子空白还不是最惨的,最惨的是那个八股文感觉真的忘了好多了。最明显的感觉是面试官问了某道题目,我明明记得我肯定复习过,但是已经遗忘了,死活想不起来。就有一种给我看一遍答案理解一下,我必可以流畅的回答出来那种感觉。

这次面试的题目其实都很基础,我感觉都已经算有点白给的那种,我回答成这样,我自己无法接受。。。。。。

面试题目

首先介绍了一下我自己,然后聊了会儿天,他介绍了他们公司是做什么的,假如我进去之后要做什么。又问了我毕业设计的相关问题,问我是线上答辩还是线下答辩之类的。然后就开始正式面试了。

  1. java和C++有什么不同?

我谈的支支吾吾,讲了java的三个特性:封装继承多态,然后各自举了例子解释了一下。关于举例子那里,因为我太紧张了,所以我自己都没举明白哈哈哈。很可惜!

  1. 重载和重写的区别?

这个回答出来了。不过其实我也有点小忘,我本来还想说个例子的,但是太紧张了,一时间想不起来怎么说好了。感觉还可以回答的更加好,更加流畅,所以有点可惜勒!

  1. 抽象类和接口的区别?

我就说了抽象类更多表达一种"是什么",子类要实现自己特殊的方法,而接口更加表达一种"有什么",接口更多的是一种规范。我本来还想举一个例子的,但是太紧张了,脑子一片空白,什么东西都想不起来了。我后来想了想,发现我有可能没真正的理解到这两者的本质,有点可惜!

  1. 你是怎么理解多态的?

我举了电商支付双系统项目中的支付的例子,但是我讲的自己也听不懂,所以估计他也听不懂,我确实有点忘了,忘的原因有可能是我没有真正做到透彻理解。所以这道题没回答好,不冤枉!

  1. 你在项目中遇到过哪些异常吗?关于异常你可以谈一下吗?

他在问我的时候我脑子里一下就蹦出了这个图:

但是这个图的具体细节我又忘了哈哈哈,但是我还零零星星记得一点,所以也说不完全。而且太紧张了,说的支支吾吾的,而且没有逻辑性可言。这题太可惜了!

  1. 你用的JDK版本是多少?

我说1.8

  1. java1.8的版本中,你对集合里面的Stream流有了解吗?

没有。这个我没听说过。这道题不冤枉。

  1. 你对反射有了解吗?

没有。这个复习我没复习到,我认为他不重要就没优先复习了,结果他真的考了。好吧,我必须重视一下。这道题不冤枉!

  1. 他那个问题我没听清,什么servlet,什么web什么的,又什么拦截器过滤器,我没听懂他想问什么。然后我说我没听清楚,他就问我拦截器和过滤器有什么区别?

这个我倒是没回答上来,我确实没意识到这点。复习时候也没看过。这道题也是不冤枉。

  1. 你了解什么是get和post吗?

这道题昨天看计算机网络八股文的时候看过,所以可以回答的出来。

  1. 简单讲讲ArrayList与LinkedList?

这个我回答出来了,这个还记得,主要是这个好记。

  1. JVM运行时内存区域划分能说一下吗?

这个我也回答出来了,还记得,感觉回答的还行。

  1. 你能不能谈一谈Spring这个框架?

这个我记得十几天前复习的,现在忘了,所以当时问的时候我有点懵,不知道从何说起,主要是确实感觉忘光了。有点可惜!

  1. Spring框架有哪些常用的函数?

不知道。我不知道他说的函数是什么,我回去后查了查,他应该想我回答Spring可以提供什么功能。后面他也说了比如说IOC,AOP这些。

  1. 或者说你介绍一下IOC和AOP?

这个我之前挺熟的,但是也是忘了。我一时间太紧张没想起来,脑子里一片空白。这个也是假如让我看个两三分钟我估计也记得起来。太可惜了!!!

  1. 你知不知道SpringMVC是如何处理请求的?

这个我回答错了,我把他的问题理解成了前端怎么发送请求给后端,因为我昨天背计网的时候背到有一个前端发送请求给后端的,我就讲了这个给他听。我也是没办法,那个SpringMVC的那个我确实记不得了。我之前还能够自己说给自己听来着。感觉让我复习个几分钟我还是能记得起来的。有点可惜!

17.你了解状态码吗?可以说几个你知道的状态码吗?

这个我也忘了,状态码太多了,记不起来,我就说了为什么要使用状态码,状态码可以干啥。

  1. 讲讲mysql有哪些查询?

我一开始理解成索引了,就说了一大堆什么前缀索引,联合索引,覆盖索引这些,结果他提示我可以从联表查询这方面想想,我之后看了一下发现,我去,原来我没复习过这个。不冤枉!

  1. 你对树有了解吗?简单讲讲

这个我就说在查询的时候可以用树这种数据结构,他查询的时间复杂度是O(logn),用树的话查询会比较快。这道题我都不知道怎么回答好,他让我讲讲树,我不知道从哪里入手跟他讲。

  1. 为什么用redis而不用mysql?

这道题太可惜了!!!!!!我说用mysql的同时也可以用redis,redis其实放在内存里,然后可以做缓存,避免请求直接访问数据库,加一层保护。我当时其实也是对redis的知识有点遗忘了,所以一时之间不知道回答他什么好。

我后来想了想,我真的是蠢人,我应该从redis很"快"这个角度出发去回答他,比如说因为redis快然后mysql比较慢,所以用redis而不用mysql。然后我就可以扯一下redis的线程模型来说明一下redis为什么快了。我明明对于redis这么懂,结果回答成这样,我真的是服了我自己了。

反问:你觉得我这次面试中,基础有什么不足的地方吗?

他居然说还可以,叫我更加自信一点。我知道他不想让我难过,不好意思说我,哎!

面试总结

总体而言这次的发挥是很差的,如果说10分满分的话我给自己打个2分吧。因为我回答的真的是不忍直视。

要是说这些题目我都不懂,那没什么可惜的,但是问题是我其实都懂呜呜呜呜呜呜!!!

我说实话,我对于自己的水平预期还是比较高的,我感觉我在这次面试中大部分的题目都可以回答的很出色,可以谈的一发不可收拾的那种。结果是我回答的很差。

在结束这次会议后,我有一种什么感受呢,就是很多其实我都很熟悉,但是好像又很陌生。明明这些知识点我之前都懂,但是遗忘的很严重。

造成遗忘严重的原因有可能是太久没复习,也有可能时候对于知识确实没有做到深刻的理解。

而且在面试中,我体会到了"面试官是想考察你会什么而不是你不会什么"这句话,我遇到不懂的他就说没事,然后问下一个问题。我记得我连续三道题不懂之后,然后明显他问的简单了。

这次的面试我得到收获最大的一点是关于应该如何做思维导图。我之前的思维导图是这样子的:

这就是典型的用问题驱动思维导图的书写。但是事实上这种方法是不行的。我面试的时候,就是感觉思维发散不开来,比如说面试官问到我为什么用redis而不用mysql?因为我这个思维导图没有这个问题,我就不知道怎么回答了。而且关于redis的相关知识我也想不起来了我不知道应该从哪个点出发铺开来讲。对于redis这个知识点我没有做到全盘系统的认识,我认识的都是一些零碎的知识,而且没有将这些知识系统的整合串联起来形成一个整体的认知。所以在面对到谈谈redis,谈谈 spring 这种泛问题的时候我根本不知道从哪里入手回答他。因为我的脑子里对redis没有一个整体的认知,就是没有"一览众山小""高出不胜寒"的感觉。所以这就解释了为什么我感觉其实我会的挺多,但是我回答的很差的原因。

所以我觉得我需要换一种做思维导图的思路,比如像这样:

这样子做有什么好处呢,就是不论面试官问什么,我脑子里起码有这张图,这张图就有点"一览众山小"那种感觉了。之前的那种思维导图,我归纳不出来是因为我所掌握的知识都是分布在各个问题中的,这些知识我无法串联起来,而且假如问不到同一个问题的话,我无法将这些零散的知识点短时间之内找一个有用的取出来,就是想不到用什么知识点回答他。所以我就有一种幻觉:我明明懂得很多,但是不知道该如何回答他。

这就是我下个阶段做的事情,将之前的八股文思维导图换成这种方式去整理,然后多口头说。一定要说出来,说和脑子想还是不一样的。

相关推荐
Lee川36 分钟前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试
晴殇i3 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
绝无仅有3 小时前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
绝无仅有3 小时前
Redis大Key问题排查与解决方案全解析
后端·面试·架构
AAA梅狸猫4 小时前
Looper.loop() 循环机制
面试
AAA梅狸猫4 小时前
Handler基本概念
面试
Wect5 小时前
浏览器缓存机制
前端·面试·浏览器
掘金安东尼5 小时前
Fun with TypeScript Generics:玩转 TS 泛型
前端·javascript·面试
掘金安东尼5 小时前
Next.js 企业级落地
前端·javascript·面试
掘金安东尼5 小时前
React 性能优化完全指南 2026
前端·javascript·面试