多次的java面试,让我明白了这些道理

准备大半年,面试频繁受挫,Java岗面试为何越来越难? 阅读详情

话不多说,直接开始!

一 面试是要了解什么东西

首先你要明确的是面试官所问的内容一定和你简历所写的东西是紧密联系的,一般你没有写在简历上的技能,面试管很少会去提问。

面试大体上包括下面几方面知识类型:

  • Java基础、多线程、IO与NIO、虚拟机、设计模式
  • 数据结构与算法(要有手写算法的能力)
  • 计算机网络(TCP三次握手和四次挥手)
  • 数据通信(RESTful、RPC、消息队列)
  • 操作系统(Linux的基本命令以及使用)
  • 主流框架(Spring底层原理与源码问的很多)
  • 数据存储(最常见的是MySQL、Redis)
  • 分布式

除去技术问题还有什么问题?

  • 实际场景题
  • 生活方面的问题
  • 性格/其他方面的问题

二 一般的面试流程

  • 自我介绍;
  • 问Java基础知识;
  • 对你写在简历上的项目进行大量提问;
  • 情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查;
  • 你有什么想问面试官的

三 知识点总结

1)集合相关问题(必问)

  • HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。
  • HashMap和Hashtable的区别。
  • ArrayList、LinkedList、Vector的区别。
  • HashMap和ConcurrentHashMap的区别。
  • HashMap和LinkedHashMap的区别。
  • HashMap是线程安全的吗。
  • ConcurrentHashMap是怎么实现线程安全的。
  • HashMap 的长度为什么是2的幂次方

2)多线程并发相关问题(必问)

  • 创建线程的3种方式。
  • 什么是线程安全。
  • Runnable接口和Callable接口的区别。
  • wait方法和sleep方法的区别。
  • synchronized、Lock、ReentrantLock、ReadWriteLock。
  • 介绍下CAS(无锁技术)。
  • volatile关键字的作用和原理。
  • 什么是ThreadLocal。
  • 创建线程池的4种方式。
  • ThreadPoolExecutor的内部工作原理。
  • 分布式环境下,怎么保证线程安全。

3)JVM相关问题

  • 介绍下垃圾收集机制(在什么时候,对什么,做了什么)。
  • 垃圾收集有哪些算法,各自的特点。
  • 类加载的过程。
  • 双亲委派模型。
  • 有哪些类加载器。
  • 能不能自己写一个类叫java.lang.String。

4)设计模式相关问题(必问)

  • 先问你熟悉哪些设计模式,然后再具体问你某个设计模式具体实现和相关扩展问题。

5)数据库相关问题,针对MySQL(必问)

  • 给题目让你手写SQL。
  • 有没有SQL优化经验。
  • MySQL索引的数据结构。
  • SQL怎么进行优化。
  • SQL关键字的执行顺序。
  • 有哪几种索引。
  • 什么时候该(不该)建索引。
  • Explain包含哪些列。

6)框架问题

  • Hibernate和Mybatis的区别。
  • Spring MVC和Struts2的区别。
  • Spring用了哪些设计模式。
  • Spring中AOP主要用来做什么。
  • Spring注入bean的方式。
  • 什么是IOC,什么是依赖注入。
  • Spring是单例还是多例,怎么修改。
  • Spring事务隔离级别和传播性。
  • 介绍下Mybatis/Hibernate的缓存机制。
  • Mybatis的mapper文件中#和$的区别。
  • Mybatis的mapper文件中resultType和resultMap的区别。

7)遇到的其他问题

  • 介绍下栈和队列。
  • IO和NIO的区别。
  • 接口和抽象类的区别。
  • int和Integer的自动拆箱/装箱相关问题。
  • 常量池相关问题。
  • ==和equals的区别。
  • 什么是JDK?什么是JRE?什么是JVM?三者之间的联系与区别
  • Java和C++的区别
  • 重载和重写的区别。
  • String和StringBuilder、StringBuffer的区别。
  • 静态变量、实例变量、局部变量线程安全吗,为什么。
  • try、catch、finally都有return语句时执行哪个。
  • 介绍下B树、二叉树。
  • 分布式锁的实现。
  • 分布式session存储解决方案。
  • 常用的linux命令。

四 关于面试的一些经验

  • 先投一些普通公司,等面出了心得再去投理想的公司。
  • 不熟悉的技术不要主动提。
  • 对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。
  • 另外,小公司喜欢在薪水上压你,开的时候适当提高。
  • 不要去参加招聘会,纯粹是浪费时间。
  • 把面试当作一次技术的交流,不要太在意是否能被录取。
  • 公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。
  • 尽量少通过电话面试,效果不好。
  • 在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。
  • 拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。
  • 通过面试官可以大概判断这家公司的情况。
  • 拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。
  • 理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。
  • 问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。

最后分享出自己总结的面试题目与答案,针对众多BAT面试爱问的题目都总结出来了,现在免费送给各位!

领取方式 :

 

【Java面试】2024最新JAVA面试35题附答案(基础精选) 2024java面试35题(文章内有答案) 阅读详情

相关推荐

java开发工程师面试问题,69个经典Java面试题和答案详解

Spring无论在Java生态系统,还是在就业市场,是绝对的王者。大厂面试出镜率之高,投产规模之广,无出其右。随着技术的发展,Spring 从往日的 IoC 框架,已发展成 Cloud Native 基础设施,衍生出大量 Spring 技术栈,如大家熟知的 Spring Boot、Spring Cloud 和 Spring Security 等。

2401_85029116的博客 1963

JAVA面试基础题目,不紧跟时代的面试题看它有什么意义?

要知道,我们平时干活更偏重于业务,不可能大量接触到算法,数据结构,底层代码这类面试必问的问题点,换句话说,面试准备点和平时工作要点匹配度很小。我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面试情况来判断。26、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized 修饰?6、你是如何调用 wait()方法的?

老男孩的架构路 493

Keil MDK打开别人工程总报错?手把手教你修复‘找不到main.o’和‘未定义’的路径问题

本文详细解析Keil MDK工程移植时常见的'找不到main.o'和'未定义'编译错误,提供从路径修复到宏定义配置的完整解决方案。通过系统化的检查清单和预防措施,帮助开发者快速解决MDK工程迁移问题,提升嵌入式开发效率。

weixin_28724661的博客 397

社招两年半10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)

几个月前面试了国内的一些头部公司,聊一下自己的看法,顺便分享一下面试题。

CoderW 4444

APM无人船测绘实战:从RTK、测深仪到图传的完整系统集成指南

本文提供了一套完整的APM无人船测绘系统集成实战指南。从RTK模块配置、测深仪数据同步到图传系统接入,详细解析了硬件选型、接线、软件参数调试及QGC地面站任务规划的全流程,旨在帮助用户将分散的部件整合为可自主执行水下地形测绘的可靠工具。

rr23456的博客 520

OpenWRT二级路由DHCP客户端配置:实现IPv4 WAN自动获取与网段隔离

本文详细讲解了如何将OpenWRT配置为二级路由器,重点在于设置其WAN口为DHCP客户端以自动获取IPv4地址,并修改LAN口网段实现与上级网络的隔离。文章提供了从网络拓扑规划、具体配置步骤到防火墙设置的完整指南,并分享了常见问题排查与避坑经验,帮助用户构建稳定且功能独立的家庭网络环境。

weixin_29268267的博客 293

作为Java面试官--谈谈一年来的面试总结

点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐]自过完年到现在,作为一名中小型(200-500)人的互联网公司的小Java技术面试官。目前已经面试了将近200...

全栈开发者社区 1058

cadence数模混合仿真反标sdf

数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。 一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数; 另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布

长河柱天的博客 7273

面试的时候我只会聊项目,结果就把我挂了!

作者:hsm_computer  |  已授权转载简介:《Java Web轻量级开发面试教程》作者来源:https://www.cnblogs.com/JavaArchi...

Java后端技术 5715

企业级防火墙实战:用深信服AF8.0打造安全办公网络(含流控/僵尸防护配置)

本文详细介绍了如何利用深信服AF8.0防火墙构建企业级安全办公网络,涵盖设备初始化、多接入方式配置、三维一体安全防护体系(包括应用控制、僵尸防护和智能流控)以及典型问题排查。通过实战案例和配置模板,帮助IT管理员高效部署和优化网络安全管理,提升企业网络安全防护能力。

weixin_28716443的博客 278

【Aseprite】制作Unity2D瓦片地图素材(平台游戏)

本文章用于记录用Aseprite软件制作2D平台游戏的瓦片地图的方法。

凡心所向,素履以往 5542

经过这么多次java面试,我明白了这么多道理

最近3个月一口气面了十几家公司的Java开发岗,大大小小的面试笔试加起来快20场,收获很多。本人毕业快2年了,毕业时在学校所在的2线省会城市找了家开发公司做java的开发,前前后后做了1年半,感觉公司对技术没有啥追求,做的项目翻来覆去就是SSM那些东西,左思右想辞了职,当了北漂,把自己包装成2年工作经验开始了苦逼的求职之路。 之所以面了这么多公司,是因为刚开始面试时发现自己掌握的东西与这边流行的...

GeCoder的博客 7529

Qt C++ 信号发生器控制软件

waveformComboBox->addItems({"正弦波", "方波", "三角波", "锯齿波", "脉冲波"});frequencyLabel = new QLabel("频率 (Hz):");amplitudeLabel = new QLabel("幅值 (V):");offsetLabel = new QLabel("直流偏移 (V):");} else if (currentWaveform == "三角波") {} else if (currentWaveform == "方波") {

寒寒豆豆软件公司的博客 123

有哪些是你踏入社会才明白的道理?

刷新你三观的10个道理。 1、大学里,明白人际关系的价值,有80%的社交是无用社交 有多人认为人脉就是钱脉,其实决定自己和别人的关系是自己自身的价值和资源。我一直相信一句话:人际关系中,一切社交始于价值的交换。 人际关系的核心是价值交换。也就是说每个人的人际关系的基础是他有什么样的价值可以提供给他交际的那个人。所以说一味的附庸,谄媚者是交不到真朋友的,与其花时间费尽心思左右逢源,不如...

suerge_storm的博客 1005

华为面试手撕真题【字符串压缩】

华为面试手撕真题【字符串压缩】

MISAYAONE的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

反向文献查找:从内容片段到标准引用的高效方法

文献引用是学术写作和项目文档中的基础技术环节,其核心原理是通过特定标识符或内容特征精准定位原始文献。在科研和技术文档编写中,反向文献查找技术能够显著提升工作效率,避免重复劳动。基于DOI(数字对象标识符)的解析机制是最可靠的查找方式,通过唯一标识符可直接获取完整的文献元数据。学术搜索引擎如Google Scholar则支持内容片段匹配,结合高级搜索技巧可实现精准定位。引用管理软件如Zotero和EndNote进一步自动化了这一流程,集成DOI识别、PDF元数据提取等功能。这些方法特别适用于从阅读笔记、技术博

weixin_34293246的博客 402

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

不要等到离职,才明白这些道理

唉,真tm上火,面试官又给我上了一课。前两天去某厂面试,问了我一道什么哲学家就餐问题。真的,太难搞了,而且还挺经典的!反正我是不会,我给你们分享一下,如果你近期也打算跳槽,或者想涨涨知识的...

a934079371的博客 133

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java 面试如何坐等 offer?

2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的“功课”,首先我研究了几乎所有大厂的面试题,还和负责招聘工作的几个朋友,详细的探讨了 Java 面试所要涉及的知识点,于是就有了今天大家看到的这 200 多道面试题。 为什么要公开这些面试题? 原因一:身边从事 Java 开发的人员越来...

优快云资讯 1898

干了四年的Java面试官,给大家分享我面试时最爱问的Java面试题

2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的“功课”,首先我研究了几乎所有大厂的面试题,还和负责招聘工作的几个朋友,详细的探讨了 Java 面试所要涉及的知识点,于是就有了今天大家看到的这 200 多道面试题。:身边从事 Java 开发的人员越来越多,我的表弟表妹们,朋友的表弟表妹们,朋友的朋友的表弟表妹们,每次问我要相同的面试复习材料,已经让我疲于应付,索性整理出来,直接发链接给他们。

m0_67322837的博客 778

java三年经验面试,Java程序员,java面试业务逻辑讲解

这些PDF阿博已经整理好了,需要免费领取的朋友麻烦关注、然后三连这篇文章 然后扫描下方就可以领取了自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

2401_84024576的博客 614

进入后端Java行业前明白个道理:程序员解决的问题,大多不是程序问题

前言 很多人都说,程序员很辛苦,与这个角色联系在一起的词儿,通常是忙碌、加班、熬夜等。作为程序员,我们将其看作一个值得全情投入的职业,希望能够把精力放在设计算法、改进设计、优化系统这些具有创造性与成就感的本职工作上。 但现实情况却是,许多人因为一些“意外”,陷入了无休止的忙碌,比如: 你辛辛苦苦写的代码还没上线,产品经理就告诉你需求变了; 你拼命加班只因错估了工作量,自己造的“孽”,含着泪也要搞定; 你累死累活做出来的东西和要求不符,只能从头再来; 你大面积地修改代码只是因为设计糟糕,无法适应新的需求变化

m0_57227221的博客 218

【Java面试经验分享】java面试中的那些“潜规则”,看看这是不是你面试不通过的原因!

点关注,不迷路;持续更新Java相关技术及资讯!!! 内容源于群友投稿!感谢支持! 前言 潜规则1:面试的本质不是考试,而是告诉面试官你会做什么 很多刚入行的小伙伴特别容易犯的一个错误,不清楚面试官到底想问什么,其实整个面试中面试官并没有想难道你的意思,只是想通过提问的方式来知道你会什么 比如: 面试官提问在实际项目中你们是怎么样使用缓存的? 初入行回答:使用redis,key-value存放 但是面试官可能是想知道:一般在业务中缓存什么样的数据,为什么要缓存这些数据,缓存数据如何保证实时性,如果缓存.

yueyunyin的博客 1331
上一篇: 2022年Java基础高频面试题汇总(1.4W字详细解析)
下一篇: Java岗史上最全八股文面试真题汇总,堪称2022年面试天花板
Java5658
博客等级 码龄4年 169粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值