面试
文章平均质量分 76
Java知识库
擅长JVM,Mysql,微服务架构性能调优,Spring Cloud Netfilx等常用框架源码解析Redis,等中间件技术架构设计及领域驱动设计。
展开
-
迎难而上,阿里高频考点2023Java岗面试突击手册
上周我接到一位粉丝的私信说目前互联网形势实在对他太不友好,感觉自己每个技术栈都会一点,但不是完全精通。基本二面三面的时候就挂了,已经完全不知道该朝哪个方向努力了,希望可以给他一些建议和方法指导。那么,本次就针对”互联网寒冬如何通过面试“这个问题单独出一次方法指南。原创 2023-04-18 13:52:04 · 244 阅读 · 0 评论 -
2023字节、腾讯、阿里等6家大厂Java开发面试真题+高频面试题总结
像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻炼几年,相信对自己能力的提升还是非常大的。5. 项目管理:主要是在主导跨团队的项目时,如何高效的协调好各个团队的工作,使用哪些方法来保障项目的按时交付。2. 算法:刷100-200 道题,记住刷题最重要的是要理解其思想,不要死记硬背,碰上原题很难,但大多数的解题思路是相通的。项目的亮点:就是你在项目中做过最牛逼的事,复杂的需求方案设计、性能优化、线上问题处理、项目重构等等;原创 2023-03-29 11:29:45 · 449 阅读 · 0 评论 -
8年Java架构师面试官教你正确的面试姿势,10W字面试题带你成功上岸大厂
JVMJAVA集合Java多线程并发Java基础spring原理微服务Netty 与 RPC网络日志ZookeeperKafkaRabbitMQHbaseMongoDBCassandra设计模式负载均衡数据库一致性算法Java算法数据结构加密算法分布式缓存HadoopSparkStormYARN机器学习云计算。原创 2023-03-17 14:47:30 · 491 阅读 · 1 评论 -
金三银四吃透这份微服务笔记,面试保准涨10K+
技术基础和平台工具易学,但架构思维和落地经验难建。一个合格的架构师除了最核心的技术理论基础之外,必须具备良好的架构视野和思维模式,以及通过技术与业务结合的落地实践所总结的行之有效的经验和方法论。记得帮忙评论+转发+转发+转发;然后再【查看下方】即可获取哦。原创 2023-02-25 11:05:23 · 614 阅读 · 0 评论 -
GitHub标星30K+的Java面试八股文长啥样?
2023年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套1000+道的Java面试手册我整理了整整1个月,上传到Git上目前star数达到了30K+原创 2023-02-22 16:36:53 · 510 阅读 · 0 评论 -
2023最新Java面试手册(性能优化+微服务架构+并发编程+开源框架)
Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生 命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。原创 2023-02-14 14:26:35 · 387 阅读 · 0 评论 -
在中国程序员工作是青春饭吗?
vivo/oppo的倒是收了我的简历,但是大概尝试给了40份简历给外包公司,只有一个项目组给了我视频面试机会,说起来不好意思,可耻地被虐了--面试官一听我六年经验,直接就是各种我知识盲区的题目怼下来了,可怜我crud的经验毫无招架之力。背好八股文,有足够的工作年限,小公司技术面还是比较好进的,但是老板着重看的是你的项目经验和你的薪资要求。事实上,只要你有能力,愿意放宽要求,能找的工作还是不少的。于是我屏蔽了所有外包公司,开始投小公司。结果华为、平安的外包告诉我,不好意思呀,我们现在最少要求统招本科了。原创 2023-02-13 14:55:56 · 648 阅读 · 0 评论 -
GitHub上标星79K的LeetCode算法小抄开放下载了
在大厂面试中我们不可避免的会考到算法,为什么大厂一定要考察算法呢?因为它包含了太多的逻辑思维,可以考察你思考问题的逻辑和解决问题的能力;这一点也是面试官比较看重的,因为它可以反映出你的潜力,我曾经听阿里一位资深面试官这样讲过:当一个人逻辑思维和能力不错的情况下,你还会担心专业的业务知识方面他不行或者学不会吗?”管中窥豹,算法的重要性我想大家都应该明白了。一般,面试官出的面试题都是从题库里抽出来的,很少有自己出新题的(当然,算法笔试过程除外)。所以,只要我们刷题刷的足够多,就总有概率遇到原题。原创 2023-01-10 14:41:27 · 241 阅读 · 0 评论 -
为什么数据库连接池不采用 IO 多路复用?
当然,如果有特定的需要,希望使用 IO 多路复用管理 DB 连接,是完全可行的。如果 DB 和 Web 容器同时使用 NIO,那么调用的DB连接库与必须与容器有一个约定描述DB的连接管理如何接入Web容器的NIO的驱动代码。这样是无法形成代码上的约定的。IO 多路复用之所以能成立,是需要整个程序要有一个IO多路复用的驱动代码——就是 select 那句调用——等待事件来临,一个 blocking 的 API。对于使用DB的程序来讲,不管使用多路复用,还是连接池,都要维护一组网络连接,支持并发的查询。原创 2022-12-22 09:54:18 · 767 阅读 · 0 评论 -
【面经分享,附答案】字节系统架构,一面,后端开发
先解释下 ACID 特性,然后说下 MySQL 如何保证 ACID 的:锁来保证隔离性(可扩展四种并发问题、四种隔离级别、行锁的三种算法、着重提一下 Next-Key Lock 解决幻读问题 ),redo log 保证持久性和原子性(持久性对应 WAL 和 CheckPoint,原子性对应 redo log 两阶段提交),undo log(MVCC)保证一致性。可以说下 Redis 是基于内存的,单线程工作的缓存,先介绍下为什么说 Redis 是单线程的(关键点:IO 多路复用、文件事件处理器);原创 2022-12-20 13:11:28 · 364 阅读 · 0 评论 -
面试官问“谈谈你对网络的理解?”时应该如何回答?
面试官的这个问题,还是很好回答的,关于网络,说什么都行。如果是我,我肯定说一些最重要的,比如老生常谈的七层架构、常见的性能指标等等。原创 2022-12-20 10:36:15 · 2132 阅读 · 0 评论 -
阿里二面:Redis 分布式锁过期了但业务还没有执行完,怎么办?
可以为每个客户端指定一个clientID,在VALUE中增加一个clientID的前缀,这样在续锁的时候,可以判断当前分布式锁的value前缀来确定是不是当前客户端的,如果是再续锁,否则不做处理。:当客户端加锁成功后,可以启动一个定时任务,每隔10s(最好支持配置)来检测业务是否处理完成,检测的依据就是判断分布式锁的key是否还存在,如果存在,就进行续约。加锁的命令,我们参照spring包里的分布式锁代码,如果锁存在并且是当前客户端加的锁,那就续锁,如果锁不存在,则加锁。设置成功返回1,设置失败返回0。原创 2022-12-16 09:20:48 · 759 阅读 · 1 评论 -
太卷了,5年Java程序员竟答不出应届生字节二面?
11.22一面过 11.23二面挂上一个部门寄了,给我换了个流程唉。原创 2022-12-10 18:38:20 · 663 阅读 · 0 评论 -
面试官:MySQL 中 varchar(n) 中 n 最大取值为多少?
要回答这个问题,首先我们得先知道 MySQL 存储一条记录的格式长什么样子。以 Compact 行格式作为例子,它长这样:可以看到,一条完整的记录分为「记录的额外信息」和「记录的真实数据」两个部分。这里重点讲讲记录的额外信息,它包含 3 个部分:变长字段长度列表、NULL 值列表、记录头信息。变长字段长度列表用于存储一行记录中每个变长字段的长度。「变长字段长度列表」所占用的字节数 = 所有「变长字段长度」占用的字节数之和。举个例子,假设数据库表中有 2 个 varchar(10) 类型的字段,分别为 a原创 2022-12-08 09:44:04 · 855 阅读 · 0 评论 -
掌握高并发系统设计,面试弯道超车
不可否认的是,目前的经济形势不好,很多公司(比如阿里、腾讯、今日头条)一方面在减少招聘的人员数量,另一方面也期望花费了人力成本之后可以给公司带来更大的价值。那么对于公司来说,仅仅懂得 CRUD 的程序员就不如有高并发系统设计经验的程序员有吸引力了。所以当你去面试时,面试官会要求你有高并发设计经验,有的面试官会询问你的系统在遭遇百万并发时可能有哪些瓶颈点,以及有什么优化思路等问题,为的就是检验你是否真的了解这方面的内容。那么进不了大厂,没有高并发的场景,这些设计的经验又要从何处来呢?通过本篇文章我将详细的介绍原创 2022-12-07 16:46:12 · 316 阅读 · 0 评论 -
强烈推荐,熬夜一周整理的多线程&高并发笔记(含面试题+导图+笔记)
多线程与高并发面试题(基础部分)你如何确保main()方法所在的线程是Java程序最后结束的线程?ThreadLocal原理什么是死锁(Deadlock)?如何分析和避免死锁?什么是Java Timer类?如何创建一个有特定时间间隔的任务?什么是线程池?如何创建一个Java线程池?什么是并发容器的实现?Executors类是什么?说说CountDownLatch与CyclicBarrier区别多线程与高并发面试题(高级进阶部分)在静态方法上使用同步时会发生什么事?原创 2022-11-29 15:52:55 · 250 阅读 · 0 评论 -
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了
超线程这个概念是Intel提出的,简单来说是在一个CPU上真正的并发两个线程,由于CPU都是分时的(如果两个线程A和B,A正在使用处理器核心,B正在使用缓存或者其他设备,那AB两个线程就可以并发执行,但是如果AB都在访问同一个设备,那就只能等前一个线程执行完后一个线程才能执行)。指的是每条线程执行的时间、线程的切换都由系统控制,系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。多任务系统往往需要同时执行多道作业。原创 2022-11-26 10:03:19 · 602 阅读 · 0 评论 -
虎牙面试官:String长度有限制吗?是多少?我:这太...
答:首先字符串的内容是由一个字符数组 char[] 来存储的,由于数组的长度及索引是整数,且String类中返回字符串长度的方法length() 的返回值也是int ,所以通过查看java源码中的类Integer我们可以看到Integer的最大范围是2^31 -1,由于数组是从0开始的,所以数组的最大长度可以使【0~2^31】通过计算是大概4GB。首先要知道String的长度限制我们就需要知道String是怎么存储字符串的,String其实是使用的一个char类型的数组来存储字符串中的字符的。原创 2022-11-18 20:09:10 · 212 阅读 · 0 评论 -
刨根问底 Redis,对面试来说小菜一碟
虽然Redis的Transactions 提供的并不是严格的 ACID的事务(如一串用EXEC提交执行的命令,如果在执行中服务器宕机,那么会有一部分命令执行一部分命令未执行),但这些Transactions还是提供了基本的命令打包执行的功能(在服务器不出问题的情况下,可以保证一连串的命令是顺序在一起执行的。如果打开了虚拟内存功能,当内存用尽时,Redis就会把那些不经常使用的数据存储到磁盘,如果Redis中的虚拟内存被禁了,它就会操作系统的虚拟内存(交换内存),但这时Redis的性能会急剧下降。原创 2022-11-17 13:51:48 · 286 阅读 · 0 评论 -
面试妥了~12W字Java面试题总结(附答案)横扫大厂offer
网上的 Java面试题文章有非常多,但是大部分都乱七八糟、内容涵盖不全,让大部分小伙伴耗费了大量时间去寻找资料。上周有小伙伴私信我,让小编出一套完整的Java面试资料,作为宠粉的小编,这不得给粉丝们整上?这几天我也去牛客、脉脉等平台看了一下面试者分享的面试题目,原创 2022-11-07 15:16:56 · 2847 阅读 · 0 评论 -
为了面试字节,熬夜肝完这份Redis笔记后,我终于“硬”了一回
包含Redis的特点和功能,Redis缓存的使用,Redis为什么能这么快,Redis缓存的淘汰策略,持久化的两种方式,Redis高可用部分的主从复制和哨兵的基本原理。只要功夫深,铁杵磨成针,平时准备好,面试不用慌。虽然面试不一定是这样问的,但万变不离其“宗”。原创 2022-11-06 15:32:02 · 195 阅读 · 0 评论 -
美团二面:考我幻读,结果答的不好
首先来看看 MySQL 文档是怎么定义幻读(Phantom Read)的:翻译:当同一个查询在不同的时间产生不同的结果集时,事务中就会出现所谓的幻象问题。只要 T1 和 T2 时刻执行产生的结果集是不相同的,那就发生了幻读的问题,比如:T1 时间执行的结果是有 5 条行记录,而 T2 时间执行的结果是有 6 条行记录,那就发生了幻读的问题。T1 时间执行的结果是有 5 条行记录,而 T2 时间执行的结果是有 4 条行记录,也是发生了幻读的问题。MySQL 是怎么解决幻读的?原创 2022-09-08 13:49:19 · 404 阅读 · 1 评论 -
2022年8月最新蔚来后端校招面经分享
一位球友前段时间的蔚来面经,分享一下。原创 2022-09-05 15:16:09 · 672 阅读 · 0 评论