首页IT科技01JAN1950是几月几号(01.Java面试都问啥?)

01JAN1950是几月几号(01.Java面试都问啥?)

时间2025-06-21 00:43:09分类IT科技浏览3807
导读:大家好,我是王有志。好久不见,不过这次没有休假,而是搞了个“大”工程,花了点时间自学Python,然后写了“玩具爬虫”,爬某准网的面经数据,为来年的“春暖花开”做准备...

大家好            ,我是王有志            。好久不见                  ,不过这次没有休假      ,而是搞了个“大            ”工程         ,花了点时间自学Python                  ,然后写了“玩具爬虫                  ”         ,爬某准网的面经数据      ,为来年的“春暖花开      ”做准备                  。

今天作为开篇                  ,还是和大家随便聊聊:

我为什么想换工作? 做了哪些准备工作? Java面试到底问啥?

最后            ,会和大家分享这个“玩具爬虫         ”   ,当然因为是半路出家                  ,我写的Python很不Pythonic               ,大家简单的参考就好了      。

我为什么想换工作?

今年是我在这家公司的第三个年头了,不过最近我打算出去看一看了         。

这家公司不好吗?

965               ,很少加班;中等薪资水平                  ,对得起工时了;小福利还算不错   ,该有的都有            ,还会不定时的发一些购物卡;工作也很稳定                  ,如果不犯错的话      ,我应该可以在这退休                  。

听起来是“梦中情司                  ”了         ,那我为什么还要换工作?

第一                  ,保险这类业务导向的公司         ,谁是公司的“爸爸         ”?业务部门!因此      ,许多“奇思妙想      ”的需求会让你很心累                  ,有时候你甚至需要解释“为什么APP的主题不能跟随手机壳改变                  ”这种问题         。

第二            ,传统行业的“低并发            ”看不到太多技术层面的挑战   ,虽然leader已经努力的拥抱“新技术   ”了                  ,但始终是畏手畏脚               ,可以理解他的顾虑,所以想去看看外面的世界      。

第三               ,个人规划的原因                  ,我并不打算留在北京   ,或许是留不下来                  。我想回去            ,因此需要一段“叫得上名字                  ”的互联网公司的工作经历为我背书                  ,仅仅是保险行业内的名气并不会让我有太多议价权            。

第四      ,还有比跳槽涨薪更快的方式吗?

做了哪些准备工作?

相信很多长期不挪窝的小伙伴         ,看到别人跳槽涨薪内心都蠢蠢欲动                  ,可是想到要面试         ,又不知道要准备哪些内容      ,于是在“挣扎               ”中慢慢的浪费着时间   。

其实我也是这样的                  ,在自己的舒适圈内过得很安逸            ,想了很多次的跳槽   ,可总感觉自己没准备好                  。想想之前的三次面试都是“裸面”                  ,每次结果都不是很理想               ,所以这一次,我要充分的准备               ,力求让我即便在“寒冬               ”也能得到不错的结果               。

那么这次我都做了哪些准备?

首先是回顾了下数据结构与算法的知识                  ,也就是《和王有志一起学习数据结构与算法》的内容   ,只不过最近为了学习Python            ,暂时中断了。

接着是自学了Python                  ,系统的学习了语法      ,因为有Java的基础         ,这部分学起来其实很快                  ,只不过要一边工作一边学习         ,大概花了一周左右               。

然后找了一个简单的爬虫      ,抄抄改改的花了2天时间完成某准网的“玩具爬虫                  ”                  ,虽然有点坎坷            ,也算是满足了需求                  。

第四步就是数据分析了   ,花了一点时间过滤掉无效信息                  ,然后花了一顿小吊梨汤               ,找了朋友帮忙写了关键词统计和分析的程序,因为用了他们的二方库               ,程序就不放上来了   。

Java面试到底问啥?

这次总共爬取了30家公司的面经                  ,原始数据约4000条   ,从中选取了近两年(2021年开始)的社招面经数据约400条数据            ,我就从这400条数据进行“小   ”数据分析            。

数据统计

说明下统计方法                  ,程序统计关键词出现的频率      ,然后针对程序无法识别的内容进行人工统计         ,因此有些关键词出现的次数会大于400的                  。

我将面经中出现的问题分为9大类:

Java核心编程:Java基础                  ,集合框架         ,并发编程      ,Java虚拟机等; 计算机基础:数据结构与算法                  ,计算机网络            ,操作系统等; 软件工程:设计模式   ,系统设计等; 应用框架:Spring                  ,Spring Boot               ,Mybatis,Netty等; 数据库:SQL               ,MySQL                  ,Redis   ,MongoDB等 分布式与微服务:分布式理论            ,分布式事务                  ,Spring Cloud(Alibaba)等; 消息中间件:消息中间件设计      ,Kafka         ,Rocket MQ等; 常规提问:根据简历提问                  ,项目提问等; 其他:面经中出现次数较少         ,如:K8S      ,Docker等      。

我们通过一张饼图来展示数据分析的结果:

很明显                  ,Java依旧是面试中提问次数最多的            ,其次是计算机基础和数据库相关的内容   ,然后就是应用框架和项目相关的内容         。

接下来我们看看面试“三幻神(Java                  ,计算机基础               ,数据库)            ”具体涉及到哪方面                  。

Java都问啥?

我将Java的问题分为了4大类:

Java基础:面向对象,API               ,IO                  ,网络编程等; 集合框架:Map和Collection接口下的内容   ,但不包含JUC中的容器; 并发编程:线程            ,线程池                  ,synchronized      ,volatile和JUC等; 虚拟机:垃圾回收         ,内存模型                  ,类加载机制等         。

具体的统计结果如下:

并发编程和虚拟机不出所料的荣登冠亚军宝座         ,这两部分的内容基本上可以考虑全量准备了      ,而且会问得非常深                  ,请尽量做好准备再参加面试      。

Java基础是设计理念            ,API应用等   ,大部分内容较为基础                  ,随着工作年龄的增加               ,问到的概率逐渐降低,但是需要特别关注String类               ,反射                  ,动态代理   ,IO/NIO和网络编程                  。

集合框架想必大家都很清楚了吧            ,HashMap和ArrayList会扣着源码问                  ,建议有能力的同学阅读源码      ,尤其是注释会有详细的解释为什么这样设计         ,例如:HashMap中使用到的泊松分布            。

计算机基础都问啥?

计算机基础的问题分为3大类:

数据结构与算法 计算机网络 操作系统

统计结果如下:

如果目标是互联网公司                  ,复习的时候重点可以放在数据结构与算法上         ,常问的内容有链表      ,二叉树                  ,排序            ,动态规划和贪心算法等   ,题目的难度在LettCode上属于中等   。

由于HashMap中使用到红黑树                  ,因此二叉树中会涉及到红黑树               ,大部分是讲原理即可,极少会要求实现                  。而过往较少涉及的多路搜索树               ,也是因为MySQL中使用B+树作为索引的结构                  ,常会问到多种搜索树结构(不仅仅是多路搜索树)的对比               。

至于计算机网络和操作系统的内容   ,可以关注我后续的文章。

数据库都问啥?

我将Redis的部分也放到了数据库的统计中:

SQL基础:SQL的基础用法            ,MySQL中的函数; MySQL:索引                  ,引擎      ,事务         ,隔离级别                  ,优化等; Redis:Redis的数据类型         ,分布式锁      ,持久化                  ,集群            ,解决方案等; 数据库设计:三范式   ,表设计; 其他:MongoDB                  ,PostgreSQL等               。

统计结果如下:

MySQL占据了半壁江山               ,重点依旧是索引,隔离级别和SQL优化               ,MySQL的引擎也会被提问到                  ,索引的部分会和数据结构产生联动(数据结构真的有用!!!)                  。

Redis中涉及到的主要是   ,实现原理            ,数据类型                  ,分布式锁      ,持久化         ,集群等                  ,缓存雪崩/击穿/穿透等         ,从数据上看布隆过滤器很少被问到   。

SQL基础的话基本都是给出案例写SQL      ,对SQL功底的要求较高            。而数据库设计的部分                  ,主要是分库分表设计            ,如果目前的项目还无需分库分表   ,也可以先储备这些知识                  。

一些结论

到目前为止                  ,我给出了面试“三幻神                  ”中一些细分内容的统计               ,至于应用框架,分布式与微服务               ,消息中间件等的具体统计结果                  ,介于篇幅的原因   ,我会在今后的文章中放出      。

先给出一些我得到对的结论:

Java“三幻神      ”:并发编程            ,虚拟机                  ,HashMap MySQL“三幻神         ”:索引      ,隔离级别         ,优化 应用框架“三幻神                  ”:Spring                  ,Spring Boot         ,MyBatis Redis和kafka是中间件中最常问到的内容 消息中间件的设计也是一个重点 互联网企业中      ,数据结构与算法属于必备技能 分布式理论/事务                  ,是3年以上Java工程师的基础            ,涉及到解决方案   ,设计原理 涉及到云原生和DevOops的较少                  ,如果能够熟练               ,算是亮点 要能够完全“掌控         ”简历上的内容,无论是精通还是熟练               ,都会深入讨论 项目要“出彩      ”                  ,即便是“屎山                  ”项目也要“美化            ”成一朵“花   ”

最后额外说一点:

技术人员要有好口才!

技术人员要有好口才!

技术人员要有好口才!

结语

今天和大家分享了我这个星期在做的一些工作   ,也算是为大家提供一个面试准备的思路            ,希望对大家有所帮助         。

数据统计的原始结果会放到Git仓库下                  ,初步整理后的结果可以关注王有志回复关键字统计结果      ,至于题目         ,因为是手工整理                  ,暂时还没有完成         ,后续会按照分类结果逐步提供给大家                  。

本篇内容的代码仓库:Gitee代码仓库

好了      ,今天就到这里了                  ,Bye~~

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
win7怎么查找文件位置(如何在win 7找出后台运行程序?) 云梦网站SEO优化(云梦seo攻略技巧)