面试
文章平均质量分 82
偶尔写代码的北方人
前人栽树
后人乘凉
笔耕不辍
见微知著
展开
-
为什么HTTP/3要引入UDP?(快速了解QUIC)
HTTP/3和QUIC协议的出现,为互联网带来了新的机遇和挑战。虽然QUIC协议目前还处于发展阶段,但它已经展现出了巨大的潜力。在未来,我们可以期待HTTP/3和QUIC协议在更多的领域中得到应用,为互联网带来更快的速度和更好的体验。QUIC 协议详解。原创 2023-12-15 10:07:56 · 1127 阅读 · 0 评论 -
重载和重写的区别是什么? 看这一篇短文就够了
面经原创 2023-12-14 10:39:25 · 940 阅读 · 0 评论 -
后端开发过程中的乐观锁和悲观锁怎么理解并选型?
笔者在参加某银行软开面试时被问到这个偏实践类的问题,特来学习并总结。原创 2023-11-14 11:10:53 · 200 阅读 · 0 评论 -
Set接口具体实现的源码与分析
HashSet是基于散列表实现的Set接口类该实现不保证集合的迭代顺序原创 2023-11-14 09:50:53 · 68 阅读 · 0 评论 -
进程、线程、协程 面试中的基础与关键 Synchronized与Reentranlock
Java中的进程、线程和协程都是并发编程的重要概念。进程是操作系统中的基本单位,每个进程都有自己独立的内存空间和系统资源,可以独立运行。Java中可以通过Runtime和ProcessBuilder等类创建和控制进程。线程是进程中的执行单元,可以共享进程的内存空间和系统资源。Java中的线程有这几种状态:新建(New)、可运行(Runnable)、阻塞(Blocking)、无限期等待(Waiting)、限期等待(Timed Waiting)和终止(Terminated)。原创 2023-04-22 10:07:49 · 229 阅读 · 0 评论 -
开发流程中少不了的ORM是什么?
在 Java 开发中,我们经常会使用 ORM(Object Relational Mapping,对象关系映射)框架技术,如 MyBatis、Hibernate 等。使用这些 ORM 技术的目的是为了在 Java 应用程序中更方便地处理数据库操作,即OOP和关系型数据库的中间层,降低开发难度和提高开发效率。原创 2023-10-25 09:29:42 · 72 阅读 · 0 评论 -
Java开发,参数类型如何选?int, Integer, AtomicInteger?
int是基础的变量类型;Integer是包装类型;AtomicInteger是来自JUC的一个在并发编程场景下重要的包,对于Java开发人员来说,确实需要对其都有充分的认识与了解。原创 2023-10-15 09:33:36 · 631 阅读 · 1 评论 -
Java中的错误和异常有什么区别和联系?
异常和错误概述原创 2023-10-11 20:52:08 · 122 阅读 · 0 评论 -
Java的指针、引用与C++的指针、引用的对比
1. 指针指针是存储内存地址的变量,其目的是充当该地址存储的内容的别名。所以,指针是引用,但引用不一定是指针。指针是引用概念的特定实现,该术语往往仅用于可让您直接访问内存地址的语言。2. 引用引用是指引用其他内容的变量,并且可以用作该其他内容的别名。原创 2023-10-10 10:23:38 · 212 阅读 · 0 评论 -
1000K数据在Java中用哪种选型进行存储?
在 ArrayList 中访问一个元素需要常数时间 [O(1)],添加一个元素需要 O(n) 时间 [最坏情况]。在 LinkedList 中,插入一个元素需要 O(n) 时间,访问也需要 O(n) 时间,但是 LinkedList 比 ArrayList 使用更多的内存。(以N个空引用为例)如题,笔者在面试时被考察到该问题,Java中面临这样大的数组,选择ArrayLIst还是LinkedList来进行存储呢?如上图所示,当元素数量非常多的时候,尽量选用ArrayList。原创 2023-09-19 15:21:15 · 55 阅读 · 0 评论 -
MySQL多表联查如何建立索引?
在 MySQL 数据库中,设计索引主要是为了提高查询的效率,降低数据库的压力。当我们进行多表查询时,正确设计索引非常重要。原创 2023-08-30 20:18:07 · 2647 阅读 · 0 评论 -
竞态条件?如何设计一个抢红包的程序? 说说你的思路
抢红包问题是面试过程中的经典场景题,需要进行一定的准备。原创 2023-08-22 10:20:43 · 107 阅读 · 0 评论 -
如何理解Java中的Wait和Sleep?
如何认识Java中的sleep与wait?原创 2023-08-22 09:44:21 · 118 阅读 · 0 评论 -
Redis是如何保证高可用的?
Redis这种基于内存的关系型数据库我们在选用的时候就是考虑到它的快。而且可以很方便的实现诸如分布式锁、消息队列等功能。笔者在前一段秋招面试的时候就被提问,“Redis是怎么保证高可用的?” 后续的子问题包含,集群模式是怎么实现的?哨兵模式又是怎样工作的?哨兵的存在是怎么保证其他节点正常运行的?如果哨兵自己宕机了,整个系统又怎么样?原创 2023-08-20 20:04:04 · 469 阅读 · 0 评论 -
JVM的元空间了解吗?
笔者近期在面试的时候被问到了这个问题,元空间也是Java8当时的一大重大革新,之前暑期实习求职的时候有专门看过,但是近期秋招的时候JVM相关的内容确实有点生疏了,故在此进行回顾。原创 2023-08-20 10:55:07 · 1127 阅读 · 0 评论 -
Java序列化传输
Java序列化原创 2023-08-11 11:04:01 · 126 阅读 · 0 评论 -
代码同步离不开的gitignore文件
但需要注意的是,每个项目的需要忽略的文件和文件夹可能都不同,因此我们应根据项目的实际情况进行相应的调整。我们无论是在写那种语言的代码工程,在团队协作过程中离不开gitignore来避免一些无效文件的同步。这些模板可以帮助你快速设置.gitignore规则,原创 2023-05-11 20:01:06 · 85 阅读 · 1 评论 -
Java 数据结构 线程安全与线程不安全的有哪些?
Java开发过程中,Set,Map,List等接口都有很多根据特定场景需要而具体实现的类,面试过程中难免会被考察。原创 2023-04-27 10:14:23 · 957 阅读 · 0 评论 -
一个可行的业务项目从开发到部署的常见指令 Java、Linux
有的同学为了求职等面试时会进行一些经典的项目学习,开源项目中也会说明程序如何准备并运行,本文集中进行一个简要的梳理,方便大家明确流程。tar -zxvfjava -jar注意,以上步骤仅为指导,具体实现方式根据具体项目需求而定。另外Linux常用操作的掌握也是后端开发面试中不可忽视的一个问题,我们在服务器启动程序的时候,需要让其在后台运行,我们可以从下面的思路进行考虑。原创 2023-04-21 17:01:35 · 44 阅读 · 0 评论 -
Java GC 以 G1回收器为例
Java垃圾回收是非常重要的一个知识点,无论是代码开发还是面试过程中都是避不开的问题。Java作为和C++抗衡的一大重要因素就是内存管理,Java的垃圾回收期能够有效清理堆空间的垃圾,使得程序能够在有限的分配空间下正常运行。通常来说,会和该知识点关联的内容包含但不限于:JVM运行时数据区的结构、垃圾回收算法、JDK1.8前后的JVM结构变化,方法区是什么?JVM与垃圾回收期相关的指令参数是什么?JVM调优实战...原创 2023-04-20 11:20:40 · 253 阅读 · 0 评论 -
ThreadLocal面试题 Java并发面试高频 附带源码分析
作为Java面试环节中必不可少的并发相关内容,ThreadLocal的地位是很高的。其可以和HashMap相关联,可以牵涉到static关键字的作用,可以引入Java引用的概念,由于Key是弱引用,而对应的value为强引用,进而可以继续引入一个垃圾回收与OOM的问题。总之,对ThreadLocal有一个较为清晰的认识,有利于并发场景下的编程与故障排查,也有利于认识Java经典的数据结构。一句话概括:每个线程都有一个ThreadLocalMap对象。这个Map里面存了所有线程变量中保存的数据。原创 2023-04-19 16:33:56 · 218 阅读 · 0 评论 -
拦截器和过滤器的区别?面试常问的细节!
Override.addPathPatterns("/**") // 拦截所有路径// 不拦截登录请求上述代码中,MyInterceptor是自定义的拦截器类,addPathPatterns方法指定需要拦截的请求路径,excludePathPatterns方法指定不需要拦截的请求路径。原创 2023-04-13 17:27:04 · 781 阅读 · 1 评论 -
面试常见智力题一览
取到0的概率,假设第一次就取到 概率是1/9,但也有可能第一次没取到,第二次才取到,那么第二次取到的概率是2/9 * 1/9, 也有可能是第三次取到,第三次取到的概率是(2/9)的平方 * 1/9,这样所以的加起来是1/9 * (9 / 7) * (1- (2/9)的n+1次方),n趋于无穷的情况下概率就是1/7。Rand5产生1到5的数,减1就产生0到4的数,乘以5后可以产生的数是:0,5,10,15,20。我们可以得到1到25, 而且每个数都只由一种组合得到,即上述代码可以等概率地生成1到25。原创 2023-04-11 21:08:44 · 199 阅读 · 0 评论 -
介绍一下JavaNIO的Selector和lO多路复用的select有什么区别?
通过配置监听的通道 Channel 为非阻塞,那么当 Channel 上的 IO 事件还未到达时,就不会进入阻塞状态一直等待,而是继续轮询其它 Channel,找到 IO 事件已经到达的 Channel 执行。因此,Java NIO和lO多路复用的select都是实现I/O多路复用的机制,但是Java NIO是Java自己实现的,而lO多路复用的select是Linux系统提供的。新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的,弥补了原来的 I/O 的不足,提供了高速的、面向块的 I/O。原创 2023-04-10 20:01:51 · 139 阅读 · 0 评论 -
MySQL索引下推
索引下推原创 2023-04-10 11:12:12 · 504 阅读 · 0 评论 -
银行笔试-暑期实习-邮储
这周末邮储的暑期实习招聘笔试要开始了,报名的是软件开发中心,但是笔试仍然是大家统一都有进行的环节。之前都是在八股,项目以及手撕,对于笔试还是要有重视的。据说英语题量不小,大家根据自己的复习进度来选择做题顺序。个人主要还是计划复习英语单词,刷一两套选词加阅读。剩下时间专项epi和经济金融了。原创 2023-04-08 09:17:15 · 575 阅读 · 2 评论 -
手撕-图论-并查集与邻接表
大厂手撕题目不乏图相关的问题,如何对图有一个很好的认识,以及很好的表示方法是很关键的。今天正好做了几道题,分享一下代码模板和求解思路,方便回顾与发散思维。这些题目的主要求解方式为【拓扑排序,并查集,邻接表结合dfs】,其他内容主要为数据结构中的图结构的表示。原创 2023-04-07 17:12:42 · 168 阅读 · 0 评论 -
IO多路复用-select,poll以及epoll
这部分内容属于操作系统内核,也广泛应用于很多场景,比如Redis,这种注册channel然后回调式的告知真的很有效,面试的时候也是一个高频问题,所以对其有一定的了解是很重要的。先说Reactor,Reactor 模型是一种应用于网络编程的设计模式,它基于事件驱动(event-driven)的方式实现了高效的IO多路服务。原创 2023-04-07 10:43:18 · 89 阅读 · 0 评论 -
数据库内存管理-内存淘汰机制
数据库是我们进行后台开发的重要技术,了解其内存管理以及淘汰策略是十分重要的原创 2023-04-01 19:48:25 · 179 阅读 · 0 评论 -
暑期实习面经汇总
进行一些面试的记录原创 2023-04-01 11:03:44 · 314 阅读 · 0 评论