- 博客(31)
- 收藏
- 关注
原创 超 24W 字,2021 最新一线大厂 Java 高级架构师面试题总结
本篇主要给大家分享的是 2021 年最新(整合的是金三银四和最近两个月的)一线大厂 Java 基础到高级架构师全栈面试题总结(含答案)。这份小册共涵盖了以下几个大的部分: Java 基础、进阶、字符串、集合等等基础内容 Java 并发编程 JVM 面试题 数据结构与算法 网络协议面试题 数据库 框架相关面试题 微服务 中间件相关 Linux 其中数据库部分中有:MySQL、Redis、MongoDB。框架
2022-05-27 15:37:25 234
原创 想在 Java 八股文面试中脱颖而出?这《1000 道互联网大厂 Java 工程师面试题》
国内的互联网面试,恐怕是现存的、最接近科举考试的制度。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入 Design 轮(系统设计和面向对象设计 OOD)和 BQ 轮(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?简单来说,互联网 IT 行业的求职者太多了,如果考察的是清一溜的算法题和设计题,那么会要求面试官有极高的技术水平,还要花大量的时间成本和精力。所以,也许现行的八股文面试不是最优的解法,但也是最符合当前国内 I..
2022-05-27 15:29:22 224
原创 Java 的 Io 模型你了解多少?尚硅谷大厂学院课,Java 开发面试笔试题大汇总
微服务架构①微服务概念:②Spring Cloud 微服务架构:海量数据处理①:经典的海量数据处理面试题高可用架构①基于 Hystrix 实现高可用:②限流:③熔断:高并发架构①消息队列:②搜索引擎:③缓存:④分库分表:⑤读写分离:⑥高并发系统:分布式系统①系统拆分:②分布式服务框架:
2022-05-27 15:22:17 322
原创 这是什么神仙笔记?简直把所有 Java 相关面试题都写出来了
前言作为一个 Java 程序员,你平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,你感觉自己无所不能。然而偶尔的一次聚会,你听说和自己一起出道的同学早已经年薪 50 万,而自己却囊中羞涩。于是你也想看看新机会,找个新平台,好好发展。但是面试的时候,当那个笑眯眯的面试官问出那些你再熟悉不过的 Java 问题时,你只是感觉似曾相识,却怎么也回答不到点上。比如 HashMap 的工作原理,再或者 volatile 的使用场景。这个时候,你可能会怀疑自己的能力,也痛恨.
2022-05-27 15:14:17 169
原创 linux 应用开发面试题,java 黑马程序员资源,如何保证 redis 高可用
Dubbo 面试专题JVM 面试专题Java 并发面试专题Kafka 面试专题MongDB 面试专题MyBatis 面试专题MySQL 面试专题Netty 面试专题RabbitMQ 面试专题Redis 面试专题Spring Cloud 面试专题SpringBoot 面试专题zookeeper 面试专题总结三
2022-05-27 14:59:27 115
原创 最全 -BAT- 大厂 Java 和 Android 面试题整理,为接下来秋招金九银十做准备
一、java 面试题熟练掌握 java 是很关键的,大公司不仅仅要求你会使用几个 api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些 java 有关的一些算法,设计模式等等。(一) java 基础面试知识点 java 中==和 equals 和 hashCode 的区别 int、char、long 各占多少字节数 int 与 integer 的区别 探探对 java 多态的理解 String、Strin...
2022-05-27 14:56:50 150
原创 阿里架构师耗时 176 天整理出来的 Java 独家面试题(10 万字面试总结)
为了能让大家有更好的面试资料去面试大厂的技术岗位,花费了 2 个多月的时间,把市面上的所有的 Java 面试题,做了一个归纳总结,整理了快 200 多页,够大家刷题好久了!整个小册子目前 10 万字左右,总结比较多,就不一一的详细介绍了,粗略的将主要内容展示一下,其中含有 20+的知识点:1.?先,他们的底层数据结构不同,ArrayList 底层是基于数组实现的,LinkedList 底层是基于链表实现的2. 由于底层数据结构不同,他们所适?的场景也不同,ArrayList 更适合随机查找,
2022-05-26 20:55:39 192
原创 2022 备战金三银四必刷的 1000 道 Java 面试真题
什么是 Mybatis? Mybatis 有哪些优点? Mybatis 框架的缺点是什么? Mybatis 框架的适用场景? Mybatis 与 Hibernate 有哪些不同? Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql? ...答案示例:ZooKeeper 面试题============ ZooKeeper 提供了什么? Zookeeper 文件系统..
2022-05-26 20:51:12 208
原创 知乎连上热榜,堪称最强 Java 面试题,顺利拿下京东 T5 的 Offer...
朋友开发六年多,从一个中游的公司跳槽的京东 T5,其实这六轮的面试下来整体感觉还是不错的,在这之前我其实面试的其他公司的时候也很好。第一轮:团队面试第一轮基本上是你的团队成员面试你,是和你同级或者高你一个 P 的师兄来面你,主要还是讲自己简历上的做的项目,这里需要你很熟悉自己的项目才行,我个人觉得这里你要把项目里你的角色做了什么没做什么讲清楚,然后最好能把自己做的那部分重点展开来讲,然后面试官会从你讲的内容里挑一些具体来问你,这部分就因人而异了,知道的说不知道的别瞎说。第二轮:主管面试
2022-05-26 20:43:48 189
原创 阿里工程师的 Java 面试八股文,斩获腾讯等 6 家大厂 offer。
可以说掌握这个 pdf 上的知识,面试问的基础知识无处左右,由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!下文中截图来源于一位粉丝收集的 pdf 版的面经,把所以知识点的答案整理了下来,耗费他将近至少 1 个月时间,在这把这个 pdf 分享给大家!面经中有他的知识点的答案,如下图示例,非常详细!!!这份 PDF 面经知识点包括了五个大部分,26 个知识点: Java 部分:Java 基础,集合,并发,多线程,JVM,设计模式
2022-05-26 20:25:23 290
原创 “金三银四”和通过率达 95% 的 Java 面试八股文
前言:首先介绍一下我的同学,专科毕业应用电子技术专业,已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行,身为他的“好基友”,他觉得我这个工作挺好的,就咨询了我一下,经过的严厉拒绝下(各种诱惑下),还是阻挡不了他。随后他报名了北大某鸟进行培训,进行了为期半年的 Java 程序员速成加工。因为年前结束培训他准备年后面试,谁知遇到这个大疫情,一直拖到了 5 月份。随后进行了长达 2 个月的面试历程。谁知昨天聊天的时候这个狗贼竟然通过了面试,而且还是 12K,可把我羡慕坏了(我才 11K),经
2022-05-26 20:22:23 601
原创 我想不通,MySQL 为什么使用 B+ 树来作索引?
什么是索引?所谓的索引,就是帮助 MySQL 高效获取数据的排好序的数据结构。因此,根据索引的定义,构建索引其实就是数据排序的过程。平时常见的索引数据结构有:二叉树 红黑树 哈希表 B Tree谈谈一个潜在的误区我们首先需要澄清一点:MySQL 跟 B+ 树其实没有直接的关系,真正与 B+ 树有关系的是 MySQL 的「默认存储引擎 InnoDB」。存储引擎的主要作用是负责数据的存储和提取(简单来说就是读写),MySQL 的一个简单架构如下图所示:我们在创建表时就可以为当
2022-05-25 19:15:49 156
原创 这可能是全网Java学习路线最完整,最详细的版本了,没有之一
文章有点长,请大家耐心看完,话不多说直接上干货!一门永不过时的编程语言——Java 编程开发。Java编程语言占比:据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位!Java工程师人才缺口:根据IDC的统计数字:就2017年来说,我国Java人才的缺口已达42.5万,并且以每年20%左右 的速度
2022-05-25 17:14:34 424 1
原创 聊聊sql优化的15个小技巧,太赞了
前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。1 避免使用select *很多时候,我们写sql语句时,为了方便,喜欢直接使用select *,一次性查出表中所有列的数据。反例:sele
2022-05-25 17:06:33 995
原创 后端技术盲区大清理:事务还没弄明白的小伙伴赶紧来看一下
大家都知道,现在的互联网后端服务总共分3层:dao层、service层和controller层。今天我们来学习一下dao层与service层之间的数据访问问题,看看它们之间是怎么交互的。dao层与service层之间的交互,简单说来,就是service层会去调用dao层,而在调用dao层的时候就必然要用到事务。有些新手朋友在初次写后端程序的时候,往往不知道这里有事务问题,以为就像直接调用API一样,调用一次insert/update/delete操作就修改一次数据库,十分简单明了,而且测试也没发现问题,
2022-05-25 16:31:00 280
原创 一篇文章帮你搞懂volatile
JMMJMM(Java内存模型,Java Memory Model)本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过规范定制了程序中的各个变量的访问方式。JMM关于同步的规定:线程解锁前,必须把共享变量的值刷新回主内存。 线程加锁前,必须读取主内存的最新值到自己的工作内存。 加锁解锁必须是同一个锁。特点:原子性:即一个操作或多个操作在执行的过程中,要成功都成功,要失败都失败。 可见性:多个线程访问同一个变量时,当一个线程修改该变量时,其他线程可见。 有序性:保证程
2022-05-25 16:22:46 332
原创 28 天面试突击:JVM+Redis
首先我们来先看看虚拟内存与物理内存,虚拟内存和物理内存的关系印证了一句名言,「操作系统中的任何问题都可以通过一个抽象的中间层来解决」,虚拟内存正是如此。没有虚拟内存,进程直接就可能修改其它进程的内存数据,虚拟内存的出现对内存使用做好了隔离,每个进程拥有独立的、连续的、统一的虚拟地址空间(好一个错觉)。像极了一个恋爱中的男人,拥有了她,仿佛拥有了全世界。应用程序看到的都是虚拟内存,通过 MMU 进行虚拟内存到物理内存的映射,我们知道 linux 内存是按 4k 对齐,4k = 2^12
2022-05-25 14:13:32 1332
原创 学习java的理由
如今互联网蓬勃发展,继Java、C++、php后也不断涌现出了许多新的编程语言,例如Google Go、Apple's Swift和Rust。有许多可行且可靠的编程语言供你选择,每种语言都有各自的优点和缺点。而Java作为一门面向对象编程语言,从诞生到现在,已经有了二十多个年头。到目前,Java已经成为应用最广泛的计算机编程语言了。全球900余万开发者,将近97%的企业电脑在运行着java,其下载量每年达到了10亿,常年占据TIOBE编程语言排行榜前列。这吸引了越来越多的初学者想要转行进入Java开发行
2022-05-24 19:48:28 95
原创 HDFS权限和Java的api使用
HDFS权限和 Java的api使用前言博主语录:一文精讲一个知识点,多了你记不住,一句废话都没有经典语录:别在生活里找你想要的,要去感受生活里发生的东西一、HDFS的权限1、启蒙案例Permission Owner Group Size Replication Block Size Namedrwxr-xr-x root supergroup 0 B 0 0 B user...
2022-05-24 15:59:24 137
原创 如何加快Java中大型集合的处理
Java 8 的并行流是改进大型集合处理的直接方法。本文在此基础上介绍了三种不同的改进算法,并通过比较,给出了能够带来更优越性能的方法。和许多其他编程语言类似,Java拥有一组数据结构对象,可以被用来表示某些单个单元,及其可以执行的一组操作。从处理大数据量的计算程序来看,其典型操作会涉及到对每个对象进行转换等各种集合。在本文中,我们将借用ETL(提取、转换和加载)的基本概念,将提取/捕获到的数据从原来的形式,转换为指定的形式,以便将其存放到另一个数据库中。当然,我们会在此讲述数据库元素的转换、抽...
2022-05-24 15:38:11 221
原创 Java 近期新闻:JDK 19 的 JEPs项目的里程碑版本、Spring 框架、Quarkus 2.9.0
Java 近期新闻综述,涉及来自 OpenJDK、JDK 19 的 JEPs、Lilliput 项目的里程碑版本、Spring Framework 5.3.20 和 5.2.22、Open Liberty 22.0.0.5 和 22.0.0.6-beta、Quarkus 2.9.0.Final、Apache Camel Quarkus 2.9.0、WildFly Preview 27 Alpha1、Hibernate Search 6.1.5、JobRunr 5.1.1、Piranha 22.5.0、Fa.
2022-05-24 15:29:12 440
原创 基础篇:java GC 总结,可以一看
垃圾标记算法 垃圾回收算法 major gc、mini gc、full gc、mixed gc 又是什么,怎么触发的 垃圾回收器的介绍 Safe Point 和 Safe Region 什么是 TLAB 和 PLAB ? CMS、G1 新生代的 GC 如何避免全堆扫描 CMS 和 G1 为了防止并发时的漏标分别用了什么手段 什么是 logging write barrier CMS 常见问题 GC 事件和日志分析 JVM 常用参数汇总 关注公众号,一起交流:潜行前行1 垃圾标记算法
2022-05-24 15:27:09 379
原创 在 React 中实现条件渲染的七种方法
条件渲染方式一、if 语句先从 React 最基本的条件类型来看。如果有数据就显示组件,如果没有数据就不显示任何内容。posts 为需要渲染的列表:export default function App() { const { posts } = usePosts(); if (!posts) return null; return ( <div> <PostList posts={posts} /> </div&g..
2022-05-24 15:22:34 15072 1
原创 java多线教程——如何创建建程和线程
目录1、在 Windows 操作系统中创建进程 2、在 Java 中创建进程 3、在 Java 中创建线程 在上一篇博客中,我们已经介绍了并发和并行的区别,以及进程和线程的理解,那么在Java 中如何创建进程和线程呢?回到顶部1、在 Windows 操作系统中创建进程 在 windows 操作系统中,我们创建一个进程通常就是打开某个应用软件,这便在电脑中创建了一个进程。更原始一点的,我们在命令提示符中来做(我们以打开记事本这个进程为例): 第一步:windows+R,输入
2022-05-24 15:19:53 120
原创 字节跳动新一代高可用 NoSQL 数据库
背景自 2016 年以来,为了支撑在线推荐的存储需求而诞生的——字节跳动自研高可用 KV 存储 Abase,逐步发展成支撑包括推荐、广告、搜索、抖音、西瓜、飞书、游戏等公司内几乎所有业务线的90% 以上的 KV 存储场景,已成为公司内使用最广泛的在线存储系统之一。Abase 作为一款由字节跳动完全自研的高性能、大容量、高可用的 KV 存储系统,支撑了业务不断快速增长的需求。但随着公司的持续发展,业务数量、规模持续快速增长,我们业务对系统也提出了更高的要求,比如: 极致高可用:相对于一致性,..
2022-05-24 13:54:05 549
原创 程序员需要更多的数学知识
Leslie Lamport可能并不是一个家喻户晓的名字,但对于计算机科学家们来说,他是一些耳熟能详的「名字」幕后的贡献者。比如Paxos算法、排版程序LaTeX、规格语言TLA+、「面包店算法」和「拜占庭将军问题」等等。Leslie Lamport 彻底改变了现代计算机之间的对话方式。2013年,他被授予图灵奖,以表彰他在分布式系统方面的工作。在分布式系统中,不同网络上的多个组件协调一致,以实现一个共同的目标。互联网搜索、云计算和人工智能都需要协调众多强大的计算机器协同工作。当然,这种协调也会使我
2022-05-24 13:51:45 185
原创 java讲述篇(基础论)
一.hashMap与hashTable与ConcurrentHashMap:1.HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary类。不过它们都同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口。<Dictionary类是一个已经被废弃的类>2.Hashtable既不支持Null key也不支持Null value。HashMap中,null可以作为键,这样的键只有一个,可以有一个或多个...
2022-05-23 19:56:55 110
原创 金三银四快看的面试题超细节
不论是校招还是社招都避免不了各种面试,如何去准备面试就显得格外重要。这不马上金三银四了,相信有很多小伙伴为社招或跳槽做准备,最近小编也常常在刷面试题,发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的。内容涵盖了:Java基础、JVM、多线程、spring全家桶、MyBatis、数据库、微服务、Dubbo、Nginx、MQ、Linux、Zookeeper等技术栈。第一份面
2022-05-23 19:46:48 187
原创 知道这八种,能够保证缓存和数据库的最终一致性
我们通常使用缓存机制来提升系统的性能,缓存系统下的读写操作,一般都需要操作数据库与缓存。对于读操作,一般是先查询缓存,查询不到再查询数据库,最后回写进缓存。而对于写操作,究竟是先删除(更新)缓存,再更新数据库,还是先更新数据库,再删除(更新)缓存呢?由于对数据库以及缓存的整体操作,并不是原子性的,再加上读写并发,究竟什么样的方案可以保证数据库与缓存的一致性呢?下面介绍8种方案,配合读写时序图,希望你能从其中了解到保证一致性的设计要点。方案1 给缓存设置过期时间
2022-05-23 17:16:57 285
原创 算法:有向图检测
有向图检测是否存在换是比较常见的场景。在一些调度引擎中,调度的任务往往存在依赖,而检测是否存在循环依赖,即有向图中是否存在环是调度引擎的职责。当然,也是面试中常遇到的算法。今天为大家介绍用拓扑排序方法检测有向图中是否有环。出度和入度的概念。一张有向图是有顶点和带有方向的边组成的。对于一个顶点,如果有n边从其他顶点指向此顶点,则这个顶点的入度就是n。相应的,如果有n条边从这个顶点指向其他顶点,则这个顶点的出度就是n。拓扑排序的一般流程:1.初始化各个顶点的出度(或者入度也行,本文以出度为例)。
2022-05-23 17:14:35 850
原创 这几道 Redis 面试题都不懂,怎么拿 Offer
随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点。而缓存的使用成为一个重点。redis 作为缓存中间件的一个佼佼者,成为了面试必问项目。本文分享一下Redis几道常见的面试题:缓存雪崩1.1 什么是缓存雪崩?如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设置过期时间,并采用的是惰性删除+定期删除两种策略对过期键删除。如果缓存数据设置的过期时间是相同的,并且
2022-05-23 17:10:08 62
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人