java秋招被问到的八股文

news2024/11/14 23:30:48

投递的岗位是Java后端开发,八股文背了很多,现在面过三十场,做一个总结,整理出一些我确实被问到的问题。

该准备什么

首先是简历里的项目,一定要好好整理,项目的架构是怎样的,开发过程中遇到的难点,怎么解决的。
感觉大家的项目要么是管理系统、要么是什么秒杀系统,项目提到了什么就着重准备什么,例如vue+springboot的项目就好好背一背spring相关的八股文,bean的自动装配原理,springboot的启动原理,涉及到aop、ioc的东西。
如果项目是分布式架构,用了各种中间件,主要写上自己熟悉的中间件。例如redis、nacos等比较容易说的。。。都会被问到,我被问的多的中间件就是redis(那几种数据类型,用来存什么,怎么用)消息队列的那几个,怎么解决消息丢失、或者顺序问题,怎么解决定时任务的需求。
总之项目是一定会被盘问的,用了什么东西,为什么要用这个东西,为什么不用别的那个东西。。。

频率较高的问题

这些问题建议专门整理相关的内容,而不是只单纯明白问题的答案。
1、不同的排序和对应的复杂度(涉及到平均时间复杂度、稳定性;再进一步了解最好最坏复时间复杂度、空间复杂度、内部排序外部排序相关的东西)
2、一些集合的底层原理ArrayList的底层用object数组实现,初始容量是10,构造器升成空数组,有元素添加时,扩容为10)(扩容机制,扩容因子)(HashMap的底层是数组加链表,然后转为红黑树)(要了解转换的条件和扩容的相关东西)
最起码这俩集合要搞懂,再进一步的话就要了解为什么要用红黑树、扩容因子为什么是0.75、相比于其他数据结构的优点,还有线程安全的ConcurrentHashMap的底层。
3、你在项目里用到了什么设计模式,这个阿里面试疯狂问。。。我答的不太好。。。在满帮面试的时候也是手写了单例模式的一些实现。这些都需要了解
4、问到mysql必问最左匹配原则,索引失效,如何建索引,给你一个语句索引能不能用到。。。这类型的问题
5、java和其他语言的区别,一般会问你学过哪些语言,然后再问问区别
6、进程和线程的区别
7、synchronized 和 volatile 的用法和二者有什么区别
8、类加载和双亲委派
9、jvm垃圾回收机制
10、tcp和udp的区别(华为面试几次问几次)
11、OSI模型,知道哪些相关的协议
12、三次握手、四次挥手(米哈游当时问了一个如果保证传输不丢失,那么四次挥手能不能改成三次,不能)
13、如何保证可靠传输
14、输入URL 到页面展示的过程
15、常见的状态码
16、栈和队列的区别,用数组或者链表怎么实现(字节问了很多数据结构)
17、MyISAM 和 InnoDB 的区别
18、mysql事务、事务隔离级别、对应的问题、默认的隔离级别、mysql锁
19、mysql索引的实现、三大日志

频率一般的问题

1、jvm内存模型
2、线程池的参数
3、索引失效的条件
4、锁相关
5、内存区域out of memory的问题
6、poll 、 epoll 、select的区别
7、jdbc连接数据库的语句是什么
8、synchronized的锁升级机制
9、创建对象的方式
10、java线程通信的方式
11、java进程通信的方式
12、重写equals()的时候为什么要重写hashcode()
13、java三大特性,举一个多态的例子
14、死锁的条件和解决方法

这些问题其实都很容易在网上查到,我自己总结的其实也不算太全面,所以就不直接放出来干扰大家的思考了。。。我自己写的东西有很多都面试没被问到,当时还觉得挺重要hhh
在这里插入图片描述
在这里插入图片描述
因为里面涉及到挺多的个性化的例子,例如我实习的东西,可以直接拿来用的信息反而不多,丢在下载里了,上传是因为我比较珍视自己的积累,但是其实多看看javaGuide比看我写的强得多。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产实时操作系统+intel x86/龙芯平台超边缘计算机方案

引言 近年来,物联网、云计算、机器学习和网络安全等技术不断推动工业 4.0 的发展,“云边端” 的架构正逐步替代 “云管端”,边缘计算成为新时代许多领域转型的关键要素。以智能制造为例,不同于为互联网服务的 CDN 边缘计算技术&a…

Spring(二):Spring的创建和使用

目录一、创建Spring项目1.1 创建一个Maven项目1.2 添加Spring框架支持1.3 创建启动类二、使用Spring存储对象2.1 创建Bean2.2 将Bean注册到容器三、获取并使用Bean对象3.1 创建Spring的上下文3.2 从Spring上下文对象中取出Bean对象3.3 使用Bean一、创建Spring项目 1.1 创建一个…

传统数据治理的常见陷阱有哪些?

一、传统的数据治理 传统的数据治理是一种数据优先的治理方法。这种传统方法缺乏响应数据用户需求的流动性——或者在新法规出现时适应新法规的灵活性。传统方法概述角色、创建数据标准、分配责任并创建公司范围的数据策略。因为它强调对数据的控制,这种方法威胁工…

Java程序接入ChatGPT

Java程序接入ChatGPT0 前言1 还想体验的小伙伴可以试试2 Java接入前准备3 官方支持接入语言4 调用费用5 接口调用说明6 代码实现6.1 postman调用6.2 Java调用7 小结0 前言 之前文章中我们聊过怎么注册使用最近很火的ChatGPT?这期我们来看看怎么在Java中调用ChatGPT…

openssl aes加密例子

openssl OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 首先,要安装 openssl: centos命令: sudo yum install openssl-devel ubuntu命令&#x…

重学webpack系列(一) -- 前端模块化的演变历史

前言 任何事物的产生都有他的必然性,就像是冥冥之中注定了一样,在JavaScript刀耕火种的时代,前端是被定义为切图的一项工作,页面逻辑与交互全部由服务端工程师完成,前端开发几乎不受服务端开发重视,那时候…

免费教你如何设计商品主图,手把手教学!

好看的电商主图都是怎么设计出来的?有什么办法能快速设计出爆款的同款商品主图吗?跟着小编的教学步骤,教你轻松在线设计,不需要任何门槛也能掌握的电商设计工具,轻松搞定各种类型的商品主图,下面跟着小编的…

Spring BOOT 手写一个starter并使用这个starter

1、stater工程的命名 starter 是一个开箱即用的组件,减少不必要的重复代码,重复配置。例如,在mavne项目进行配置的时候,我们需要引用 spring-boot-starter-parent。 Spring 官方定义的 starter 通常命名遵循的格式为 spring-bo…

Linux——日志管理

基本介绍 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括信息的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等;日志对于安全来说也很重要,它记录了系统每天发生的各种事情&…

ASP.NET Core —选项系统

ASP.NET Core — 选项系统1. 选项2. 选项配置方式2.1 手动绑定2.2 依赖注入配置2.2.1 配置文件节点转换选项2.2.1 硬编码配置选项2.2.3 使用DI服务配置选项2.2.4 命名选项2.2.4 后期配置3. 使用3.1 IOptions<TOptions>3.2 IOptionsMonitor<TOptions>3.3 IOptionsSn…

零基础小白:为什么要学习编程?如何入门编程?!

这篇文章回答以下几个问题&#xff1a; ★我们为什么要学习编程&#xff1f; ★非计算机学生&#xff0c;如何对编程产生兴趣&#xff1f; ★零基础&#xff0c;如何入门编程&#xff1f; 第一个问题&#xff1a;我们为什么要学习编程&#xff1f; 如果说和编程有关的最经常收…

QT mysql 数据库的使用

1.首先我是用的是 网上的免费的mysql 数据库 &#xff0c; 1.申请步骤 2.链接 &#xff1a;SQLPub - 免费的MySQL数据库 2..测试数据库是否可以使用 头文件&#xff1a; #include <QSqlDatabase>//数据库 #include <QDebug>//输出 #include <QStringList&g…

【原创】Unity结合OpenAI官方api实现类似chatGPT的AI聊天机器人

一、什么是ChatGPT 最近chatGPT爆火&#xff0c;网络铺天盖地的各种文章视频&#xff0c;各种牛逼之声。倒算不上第一时间使用&#xff0c;发布隔了一周多&#xff0c;才从同事那里听说了这么个神奇的技术。这周阳了&#xff0c;持续发烧在家&#xff0c;忙着养病也没时间去了解…

[oeasy]python0030_设置路径_export_PATH_zsh_系统路径设置_export

放入路径 回忆上次内容 我们要在任意路径下直接执行 sleep.py 把 sleep.py 放在 /usr/bin/ 下面最终可以在任意位置执行程序sleep.py 但是 /usr/bin 里面放的一般都是二进制命令文件命令实在是太多太乱最终还是删除了sleep.py 我想 把宿主目录添加到系统变量 $PATH 中这样有可…

winform中使用SqlSugar和SQLite

winform虽然是老古董了&#xff0c;但是在开发桌面方面&#xff0c;还是得心应手的&#xff0c;比如开发一个小工具&#xff0c;小demo之类的。接下来&#xff0c;我们使用SqlSugar和SQLite数据库&#xff0c;在winform中运用。 1.首先建立一个程序 2.安装 System.Data.SQLite…

宿舍管理系统的设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 1登录&#xff1a;学生进行用户登陆密码核对&#xff0c;并可对自己的信息进行修改。 2.宿舍水电费管理&#xff1a;学生…

CloudCompare配置介绍

和前面系列博客一样&#xff0c;咱们还是从官网介绍先去了解新东西。官网网址如下&#xff1a; CloudCompare - Open Source project 顶部菜单中提供了下载&#xff0c;手册查找入口&#xff0c;github路径如下&#xff1a; GitHub - CloudCompare/CloudCompare: CloudCompar…

想辞职转行做程序员,需要学习哪些内容?

第一步&#xff0c;还是要明确具体的职业方向。 程序员是个统称&#xff0c;写代码的都叫程序员&#xff0c;但Java程序员&#xff0c;或是Python程序员&#xff0c;这才是职业。就好像很多大学生&#xff0c;专业是软件工程&#xff0c;这玩意儿并不是职业&#xff0c;学的内…

工作3年才8K,新招的测试一来就是14K,凭什么?

最近朋友给我分享了一个他公司发生的事&#xff0c;大概的内容呢&#xff1a;公司一位工作3年的测试工资还没有新人高&#xff0c;对此怨气不小&#xff0c;她来公司辛辛苦苦三年&#xff0c;三年内迟到次数都不超过5次&#xff0c;每天都是按时上下班&#xff0c;工作也按量完…

5_MyBatis代理模式开发-1_使用Mapper代理方式实现查询

前面已经使用MyBatis完成了对Emp表的CRUD操作&#xff0c;都是由SqlSession调用自身方法发送SQL命令并得到结果的&#xff0c;实现了MyBatis的入门。 但是却存在如下缺点&#xff1a; 1. 不管是selectList()、selectOne()、selectMap()&#xff0c;都是通过SQLSession对象…