
面试
文章平均质量分 87
qq_469603589
一个勤勤恳恳的码农,希望通过技术改变自己的生活
展开
-
一文搞懂常见十大排序算法
快速排序就是每次找一个基点(第一个元素),然后两个哨兵,一个从最前面往后走,一个从最后面往前面走,如果后面那个哨兵找到了一个比基点小的数停下来,前面那个哨兵找到比基点大的数停下来,然后交换两个哨兵找到的数,如果找不到最后两个哨兵就会碰到一起就结束,最后交换基点和哨兵相遇的地方的元素,然后就将一个序列分为比基点小的一部分和比基点大的一部分,然后递归左半部分和右半部分,最后的结果就是有序的了。首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。原创 2023-03-06 15:31:57 · 92 阅读 · 0 评论 -
Spring Boot 无侵入式 实现API接口统一JSON格式返回
定义返回JSON格式后端返回给前端一般情况下使用JSON格式, 定义如下"data": {code: 返回状态码message: 返回信息的描述data: 返回值定义状态码枚举类@ToString@Getter/** 返回的HTTP状态码, 符合http请求 *//** 业务异常码 *//** 业务异常信息描述 */原创 2023-02-03 16:26:41 · 246 阅读 · 1 评论 -
如何实现大文件上传:秒传、断点续传、分片上传
文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有比较好的上传体验呢,答案有的,就是下边要介绍的几种上传方式在实现分片上传的过程,需要前端和后端配合,比如前后端的上传块号的文件大小,前后端必须得要一致,否则上传就会有问题。原创 2023-02-03 16:24:48 · 211 阅读 · 1 评论 -
2023春招面试题:Redis数据库面试题整理
Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能非关系型(NoSQL)的(key-value)键值对数据库。可以用作数据库、缓存、消息中间件等。原创 2022-12-29 20:50:26 · 130 阅读 · 0 评论 -
2023春招面试:消息中间件面试题整理
开启生产者确认机制,确保生产者的消息能到达队列(config机制保证消息正确到达交换机、return机制保证消息正确到达队列) 开启持久化功能,确保消息未消费前在队列中不会丢失 开启消费者确认机制为auto,由spring确认消息处理成功后完成ack 开启消费者失败重试机制,并设置MessageRecoverer,多次重试失败后将消息投递到异常交换机,交由人工处理原创 2022-12-29 20:46:52 · 214 阅读 · 1 评论 -
2023面试专题:JAVA基础
马上就到了2023年了,也是招聘的时间节点,本次整理了一系统有关于JAVA方向的面试专题分享给大家观看学习原创 2022-12-24 19:07:17 · 242 阅读 · 1 评论 -
2023春招面试题:Java并发相关知识
本次整理的主要是针对JAVA并发相关的线程基础知识以供大家学习参考,如果觉得对你有所帮助,请给三连支持原创 2022-12-24 19:06:39 · 133 阅读 · 1 评论 -
2023春招:Javaweb面试锦囊
2023春招高频面试题原创 2022-12-24 19:05:35 · 129 阅读 · 1 评论 -
2023春季招聘面试集锦:MYSQL数据库高频面试题
MYSQL高频面试题,为2023春招做准备兄弟们原创 2022-12-24 19:04:33 · 409 阅读 · 1 评论 -
软件工程面试技巧之十八罗汉
回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。回到顶部。原创 2022-09-30 15:33:20 · 144 阅读 · 0 评论 -
面试官教你写简历之【中高级开发者简历指南】
为什么简历投出去总是石沉大海,没有回应?!”,无论你技术水平如何,如果你遇到了这类问题,那么这篇文章就是为你准备的。很多人把简历石沉海底的原因归为技术不行,前公司背景不行,教育经历不行等等,但很少有人会去关注到可能是简历出了问题。当需要用到简历时,多数人可能会从网上直接下个模版,然后填填改改1小时不到就搞定了。笔者从业五年来见过各种形形色色的开发者,也阅览过数不清的简历,对于前端面试相关的方面有自己的一些见解和感触。因此近期打算做一个系列的专栏来讲讲如何面试,文笔不好,仅供参考!原创 2022-09-30 15:21:29 · 149 阅读 · 0 评论 -
面试官猛的一问:Spring的Bean注入如何解决循环依赖的?
单例模式下,在第一次使用 Bean 时,会创建一个 Bean 对象,并放入 IoC 容器的缓存池中。后续再使用该 Bean 对象时,会直接从缓存池中获取。 保存单例模式 Bean 的缓存池,采用了三级缓存设计原创 2022-07-29 17:14:10 · 239 阅读 · 0 评论 -
面试必备杀技:SQL查询专项训练!
表结构及基本测试数据 #创建表及插入记录 CREATE TABLE class ( cid int(11) NOT NULL AUTO_INCREMENT, caption varchar(32) NOT NULL, PRIMARY KEY (cid) ) ENGINE=InnoDB CHARSET=utf8; INSERT INTO class VALUES (1, '三年二班'), (2, '三年三班'), (3, '一年二班'), (4, '二年九班'); CREATE TAB......原创 2022-07-27 15:00:08 · 492 阅读 · 0 评论 -
如何顺利通过毕业答辩
临近毕业,很多同学项目和论文都准备的差不多了,只剩下最后一个环节,那就是决定你能否顺利毕业的毕业答辩。最后很多小伙伴咨询关于答辩的问题,也了解到了大家比较焦虑的心理,毕竟对我们来讲,努力了四年或者三年,最主要的目的还是为了这一纸毕业证,它将是我们走向社会,通向成功的第一把钥匙,今天就来给大家聊聊毕业答辩的一些问题。原创 2022-05-19 11:18:49 · 436 阅读 · 0 评论 -
CTO问我,为什么需要API网关?
最近看到了一篇 API 网关的文章,介绍了其三种角色:API 管理、集群入口控制、API 网关模式,最后还讲了与服务网格的关系,通过此文可以更全面的理解 API 网关的作用。原创 2022-04-14 08:33:26 · 115 阅读 · 0 评论 -
阿里面试官:分布式锁到底用Redis好?还是Zookeeper好?
首先,分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。原创 2022-04-14 08:32:30 · 316 阅读 · 0 评论 -
java设计模式 - 工厂模式
简单工厂模式 < 工厂方法模式 < 抽象工厂模式。 角色分类: 1、简单工厂模式:抽象产品、具体产品、工厂类。 2、工厂方法模式:抽象产品、具体产品、抽象工厂、具体工厂。 3、抽象工厂模式:抽象产品族、抽象产品、具体产品、抽象工厂、具体工厂。原创 2022-04-14 08:31:12 · 94 阅读 · 0 评论 -
请说一下悲观锁和乐观锁的区别
悲观锁和乐观锁并不是某个具体的“锁”而是一种并发编程的基本概念,是根据看待并发同步的角度。乐观锁和悲观锁最早出现在数据库的设计当中,后来逐渐被 Java 的并发包所引入。原创 2022-03-29 07:54:20 · 637 阅读 · 0 评论 -
SpringBoot启动类的扫描注解的用法及冲突原则
背景 SpringBoot 启动类上,配置扫描包路径有三种方式,最近看到一个应用上三种注解都用上了,代码如下: @SpringBootApplication(scanBasePackages={"a","b"}) @ComponentScan(basePackages={"a","b","c"}) @MapperScan({"XXX"}) publicclassXXApplicationextendsSpringBootServletInitializer } 那么,疑问来了:Sp...转载 2022-03-13 21:14:12 · 548 阅读 · 0 评论 -
SQL 编程思想:一切皆关系
在计算机领域有许多伟大的设计理念和思想,例如: 在 Unix 中,一切皆文件。 在面向对象的编程语言中,一切皆对象。 关系数据库同样也有自己的设计思想:在 SQL 中,一切皆关系。 关系模型 关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论中的关系概念为基础;无论是现实世界中的实体对象还是它们之间的联系都使用关系表示。我们在数据库系统中看到的关系就是二维表(Table),由行(Row)和列(Column)组成。因此,也可以说关系表.原创 2022-03-13 21:13:40 · 132 阅读 · 0 评论 -
来聊聊ThreadLocal内存泄露分析
ThreadLocal存在不存在内存泄漏,趁此机会和大家聊聊ThreadLocal到底存在不存在内存泄漏以及怎么避免。 Thread中的threadLocals属性 一切都要从Thread的一个属性threadLocals说起,让我们看下这个属性的介绍: /* ThreadLocal values pertaining to this thread. This map is maintained * by the ThreadLocal class. */ ThreadLoca...原创 2022-03-13 21:13:09 · 106 阅读 · 0 评论 -
除了负载均衡,Nginx 能做的还有很多
Nginx应该是现在最火的web和反向代理服务器,没有之一。她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现。那除了负载均衡,她还有什么其他的用途呢,下面我们来看下。 一、静态代理 Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源的放到nginx上,可以使应用动静分离,性能更好。 二、负载均衡 Nginx通过反向代理可以实现服务的负载均衡,避免了服务器单节点故障,把请求按照一定的策略转发到不同的服务器上,达到负载...原创 2022-03-13 21:12:22 · 124 阅读 · 0 评论 -
面试必问:十大经典排序算法总结
0、排序算法的说明0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b前面,而a=b,排序之后a有可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度:描述算法运行时间的函数,用大O符号表述;空间复杂度:描述算法所需要的内存空间大小。0.3算法总结 图片名词解释: n:数据规...原创 2022-02-28 08:35:24 · 282 阅读 · 0 评论 -
Redis常见面试题总结
RDB持久化可以手动执行也可以根据配置定期执行,它的作用是将某个时间点上的数据库状态保存到RDB文件中,RDB文件是一个压缩的二进制文件,通过它可以还原某个时刻数据库的状态。由于RDB文件是保存在硬盘上的,所以即使redis崩溃或者退出,只要RDB文件存在,就可以用它来恢复还原数据库的状态。原创 2022-02-28 08:34:47 · 337 阅读 · 0 评论 -
SQL中的in与not in、exists与not exists的区别以及性能分析
in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。 如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;原创 2022-02-28 08:34:06 · 202 阅读 · 0 评论 -
都说 HashMap 是线程不安全的,到底体现在哪儿?
前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。原创 2022-02-28 08:33:26 · 236 阅读 · 0 评论 -
面试必备基本知识HTTPS 原理分析
随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议。大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA证书等,但对于以下灵魂三拷问可能就答不上了: 1.为什么用了 HTTPS 就是安全的? 2.HTTPS 的底层原理如何实现? 3.用了 HTTPS 就一定安全吗?原创 2022-02-19 14:38:17 · 108 阅读 · 0 评论 -
Redis主从集群切换数据丢失问题如何应对?
对于Redis主节点与从节点之间的数据复制,是异步复制的,当客户端发送写请求给master节点的时候,客户端会返回OK,然后同步到各个slave节点中。 如果此时master还没来得及同步给slave节点时发生宕机,那么master内存中的数据会丢失; 要是master中开启持久化设置数据可不可以保证不丢失呢?答案是否定的。在master 发生宕机后,sentinel集群检测到master发生故障,重新选举新的master,如果旧的master在故障恢复后重启,那么此时它需要同步新master的数据,此原创 2022-02-19 14:37:33 · 198 阅读 · 0 评论 -
Spring Boot常见企业开发场景应用、自动配置原理结构分析
大家应该有一个直接的体会,Spring Boot真的让我们的工作更加轻松了。以前要写的很多配置、导很多的依赖,现在只需要短短几行代码就可以解决问题。而且,不再需要我们去考虑版本之间的兼容问题了。相信,很快大家编写的应用都会切换到Spring Boot。它将让我们将更多的精力放在编写、设计结构、算法上。原创 2022-02-19 14:36:46 · 121 阅读 · 0 评论 -
近期大厂面试题总结
数据库死锁 产生死锁的原因主要是: (1)系统资源不足。 (2)进程运行推进的顺序不合适。 (3)资源分配不当等。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。原创 2022-02-10 17:52:40 · 104 阅读 · 1 评论