求教面试必问应答

2022-07-19 17:35:10 +08:00
 qiyue0726
我是一个 Java 开发,差不多三年,自认中级水平。
可是每次面试最怕就是问项目的,毕竟问技术还有八股文可以应对。
项目通常就是让介绍最近或最了解的项目,这个虽然也没什么好说的,但现在也磨砺得可以扯几嘴。
然后就是经常被问,有没有遇到什么难以解决的问题,这个我真的不知道怎么说才好,做的基本都是 CURD ,很少会遇到什么难解决的,一般自己百度或问问身边人,都能搞得定。

所以大佬们,能不能给几个看起来厉害点的例子和解决方案,我参考参考。
2232 次点击
所在节点    程序员
12 条回复
zapper
2022-07-19 17:42:15 +08:00
其实就是看他问这个问题的动机是考察你什么东西:你的工作态度和工作能力,你的短板与长处,你对工作的认知、对职业规划的想法。

回答的要点:
其一,工作态度比工作能力更重要,不要让面试官对你的主观能动性形成负面判断,不要用“这件事本不该我做”之类的自杀式回答;
其二,提高自己的上限,挑难度最大的事或此前从未做过的事来讲,最好是主动请缨或临危受命的事,可以间接证明自己的工作态度和工作能力。注意:既然是要证明自己,必须是大获全胜的事,而不是一败涂地的事;
其三,回答时重点不在“遇到”而在“解决”,过程比结果更重要,叙述的时候,要充分体现出来自己分析问题和解决问题的能力。

也不一定是技术难题,可以上升到其他层面来谈谈能证明你能力的事情
https://www.163.com/dy/article/G4QDFUH40525F0VB.html
qiyue0726
2022-07-19 17:44:45 +08:00
最近,自己也有遇到个问题。
具体是因为我写了个插件,然后系统使用 SpringFactoriesLoader.loadFactories(PluginService.class, null) 这个方法去加载插件,然后我写的这个插件里面需要去查 MongoDB 的数据,但是却无法自动注入 MongoTemplate 。我试了好几种方式, 有试过直接 @Autowrited , 直接 new ,插件类实现 ApplicationContextAware 类,在类里面 去获取当前容器的 WebApplicationContext ,然后去 getBean 获取实例。
但是这些方法都会报空指针问题,最后是通过写一个静态类去实现 ApplicationContextAware 类,然后在插件类中去获取 ApplicationContext ,在 getBean 。这样就解决了。

这个可能是我最近一年内卡的最久的问题了,还是 Spring 不熟。
如果我面试讲个差不多这样的,会不会太 lowl 了,反而让面试官觉得我很垃圾
zapper
2022-07-19 17:51:34 +08:00
@qiyue0726 #2 如果你面试的岗位就要求 spring ,最好不要透露自己对 spring 不熟。你可以封装成一个没有特征的回答:有一个技术你不熟悉,你一开始试了几种方式后得不到想要的结果,之后插入你的思考,解决效果,他人的评价、你的复盘云云
qiyue0726
2022-07-19 17:52:07 +08:00
@zapper 嗯嗯,我就是经常会觉得,这个问题是不是太简单了,体现不了自己的技术,以后还是尝试把自己的一些实际问题完整的讲一些吧,也不至于完全没得讲
zapper
2022-07-19 18:00:35 +08:00
你可以换个方式看这个问题:要是你入职了之后遇到你不会的问题,你会怎么做?
体现出来自己分析问题和解决问题的能力就行。

介绍最近或最了解的项目,其实也是顺便考察了你的语言组织能力:做了项目 123 ,我的角色 456 ,用到技术 789
night98
2022-07-19 20:46:43 +08:00
说个简单的,发短信功能

这玩意看起来很简单,接入 sdk ,一行代码搞定

复杂起来也挺复杂的

你可以这么去描述,最初实现是直接接入 sdk ,直接调用 sdk 能力发送
该方案的缺点是耦合性严重

后续将短信发送封装成一个单独的服务,并接入了多家短信服务提供商,各家使用不同的 sdk ,你在代码层面通过哪些手段或者设计模式来优化代码,通过哪些方式优化了短信发送的性能,比如最初版本是单条短信直接调用 sdk 发送,后续版本优化了发送方式,改为单位时间内调用 n 次后使用 sdk 批量功能发送,减少了服务的负载,提高了整体的效率。

再然后就是添加一些外围的功能,比如针对用户维度的限制每日发送短信的次数,针对业务某一维度的次数限制

高端一点的玩法就是针对各家 SDK ,搞一套基础的短信模板代码功能,这样可以直接在系统中添加短信模板,不需要业务人员每次添加短信模板时跑到各个服务商使用他们的模板语言编写模板,提升了业务效率。

再深入点就是业务方向了,比如营销短信可以统计送达量,反哺业务部门便于业务决策,提高了产品使用率等等
Suddoo
2022-07-19 21:01:26 +08:00
我出去面试,都是裸面、把自己做过的东西给对面的人讲讲就差不多了,毕竟,做过那么多需求

可能、面试官的本意不是让你讲“难点”,只是想让你说说你们的业务,毕竟,太冷门的方案,也没有公司敢用,烂大街的高并发、其实也总结出一套成熟的解决方案了、前人之述备矣
qiyue0726
2022-07-19 21:14:18 +08:00
@night98 感谢。看了你这个例子,我大概有点思路了
qiyue0726
2022-07-19 21:18:11 +08:00
@Suddoo 是的,我现在基本也是裸面的,八股文问来问去就那些东西。项目的我再结合前面大佬们讲的,整理下思路,突出一两个亮点,应该可以应付一般面试了。
renhou
2022-07-20 11:49:52 +08:00
一个思路
不一定说项目里的,就说自己的强项就行,因为肯定会展开讨论
比如自己很了解文件上传,那就我曾经遇到过文件上传的问题,如何如何
如果自己擅长什么百亿并发当然好,但是擅长的都是中规中矩的
可以考虑把话题放到发现问题,解决问题的思路上

文件上传慢,我如何如何提升了 xx 效率
有用户上传不和谐图片,我如何如何导入 ai 检测
将图片转换为 base64 ,节省 xx 空间
封装公共类给全公司使用
前后端联调,指导前端如何如何
确保可用性,添加单元测试,覆盖率 100%等等
zr8657
2022-07-20 17:22:07 +08:00
我四年了,和你正好反着。凡是问技术的全都面不上,面上的基本都是简单问问项目再聊聊天就成了,见鬼。
qiyue0726
2022-07-20 22:54:07 +08:00
@zr8657 技术问题我觉得背背八股文应该就可以应付大部分面试了。而项目可能是我确实没做过什么有深度的应用,再加上我这人沉默寡言,整一个老实人,不会吹,所以很容易挂在项目方面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/867323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX