面试阿里太难了!二本毕业、两年crud经验,侥幸通过面试定级P6

2020-09-28
阅读 3 分钟
255
对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了阿里P6岗。今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技...

社招三面落榜【无缘阿里】,幸获美团内推名额,4面揽下offer。

2020-09-26
阅读 4 分钟
422
目录01 面试经验分享(阿里落榜+美团面试题)02 面试美团,应该具备什么样的能力?03 如何快速提升自己,通过面试?写在前面成长背景:先说一下哥们的个人成长背景吧。出身江南小镇,大学没有出省,毕业之后就去了上海,在一家互联网金融工作,到去年年底整整两个年头。辞职之后运气不太好,碰到疫情肆虐,现在快步入3月...

推荐一个GitHub上标星1w+超牛的SpringCloud微服务项目,开发脚手架

2020-09-25
阅读 2 分钟
371
Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot 2.1.2以及Spring Cloud (...

你知道为什么阿里巴巴要求谨慎使用ArrayList中的subList方法吗?

2019-12-23
阅读 3 分钟
378
subList是List接口中定义的一个方法,该方法主要用于返回一个集合中的一段、可以理解为截取一个集合中的部分元素,他的返回值也是一个List。

深入源码分析Java线程池的实现原理

2019-12-20
阅读 4 分钟
144
程序的运行,其本质上,是对系统资源(CPU、内存、磁盘、网络等等)的使用。如何高效的使用这些资源是我们编程优化演进的一个方向。今天说的线程池就是一种对CPU利用的优化手段。

为啥阿里巴巴Java开发手册建议集合初始化时,指定集合容量大小?

2019-12-17
阅读 4 分钟
361
集合是 Java 开发日常开发中经常会使用到的。在之前的一些文章中,我们介绍过一些关于使用集合类应该注意的事项,如《为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作》。

深入理解 Spring Cloud 核心组件与底层原理

2019-12-14
阅读 4 分钟
145
一、Spring Cloud核心组件:Eureka Netflix Eureka Eureka详解 1、服务提供者 2、服务消费者 3、服务注册中心 二、Spring Cloud核心组件:Ribbon 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:Hystrix 五、Spring Cloud核心组件:Zuul 六、总结 * 之前一直在看 Spring Cloud 及微服务架构 对 Spring Clou...

你知道双重检查锁为什么要使用 volatile 字段吗?

2019-12-13
阅读 2 分钟
163
单例模式中,有一个DCL(双重锁)的实现方式。在Java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才开始初始化。

为什么阿里Java开发手册不建议在for循环中使用"+"进行字符串拼接

2019-12-12
阅读 6 分钟
370
为什么阿里Java开发手册不建议在for循环中使用"+"进行字符串拼接字符串,是 Java 中最常用的一个数据类型了。 本文,也是对于 Java 中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于 jdk1.8.0_181。 字符串拼接字符串拼接是我们在 Java 代码中比较经常要做的事情,就是把多个字符串拼接到一...

为什么阿里巴巴禁止开发人员修改 serialVersionUID 字段的值?

2019-12-11
阅读 5 分钟
390
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI 等场景中。类通过实现java.io.Serializable接口以启用其序列化功能。

你知道为什么阿里禁止工程师直接使用日志系统(Log4j、Logback)中的API吗?

2019-12-10
阅读 4 分钟
138
为什么禁止工程师直接使用日志系统(Log4j、Logback)中的API?作为 Java 程序员,我想很多人都知道日志对于一个程序的重要性,尤其是 Web 应用。很多时候,日志可能是我们了解应用程序如何执行的唯一方式。

万万没想到,HashMap默认容量的选择,竟然背后有这么多思考?

2019-12-09
阅读 6 分钟
184
但是,大家有没有想过,上面的代码中,我们并没有给HashMap指定容量,那么,这时候一个新创建的HashMap的默认容量是多少呢?为什么呢?

你知道Kafka 如何优化内存缓冲机制造成的频繁 GC 问题吗?

2019-12-04
阅读 3 分钟
167
这篇文章,给大家聊一个硬核的技术知识,我们通过Kafka内核源码中的一些设计思想,来看你设计Kafka架构的技术大牛,是怎么优化JVM的GC问题的?

一个JDK线程池BUG引发的GC机制思考

2019-12-03
阅读 4 分钟
104
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@a5acd19 rejected from java.util.concurrent.ThreadPoolExecutor@30890a38[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]

八千字图文并茂详解Dubbo,建议收藏

2019-12-02
阅读 9 分钟
160
“分布式应用场景有高并发,高可扩展和高性能的要求。还涉及到,序列化/反序列化,网络,多线程以及设计模式的问题。幸好 Dubbo 框架将上述知识进行了封装,让程序员能够把注意力放到业务上。为了更好地了解和使用 Dubbo,今天来介绍一下 Dubbo 的主要组件和实现原理。

浅谈数据库、JVM、缓存、SQL等性能调优方法和原则

2019-11-28
阅读 3 分钟
167
性能优化基本是BAT等一线互联网公司程序员必备的技能,以下为大家完整揭晓性能完整的优化方案和方法:包含web网站调优、数据库、JVM调优、架构调优等方案。

Java 9 ← 2017,2019 → Java 13 ;来看看Java两年来的变化

2019-11-27
阅读 5 分钟
393
距离 2019 年结束,只剩下 35 天了。你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈,人们纷纷晒出自己2017和2019的照片对比。 作为一个技术宅,我也做了一个对比: 2017 年 9 月 21 日,Java 9 正式发布,...

Tomcat相关面试题,看这篇就够了!保证能让面试官颤抖

2019-11-26
阅读 6 分钟
136
Tomcat相关的面试题出场的几率并不高,正式因为如此,很多人忽略了对Tomcat相关技能的掌握,下面这一篇文章整理了Tomcat相关的系统架构,介绍了Server、Service、Connector、Container之间的关系,各个模块的功能,可以说把这几个掌握住了,Tomcat相关的面试题你就不会有任何问题了!另外,在面试的时候你还要有意识无意...

阿里面试官鬼得很,问我为什么阿里要禁用Executors创建线程池?

2019-11-25
阅读 4 分钟
173
看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过源码分析禁用的原因。

深入理解分布式事务

2019-11-24
阅读 3 分钟
130
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来...

为什么MySQL要用B+树作为数据的索引?一篇文章让你的心里有点B树

2019-11-22
阅读 6 分钟
208
索引,相信大多数人已经相当熟悉了,很多人都知道 MySQL 的索引主要以 B+ 树为主,但是要问到为什么用 B+ 树,恐怕很少有人能把前因后果讲述完整。本文就来从头到尾介绍下数据库的索引。

ElasticSearch 亿级数据检索案例实战!

2019-11-21
阅读 5 分钟
141
一、前言 数据平台已迭代三个版本,从头开始遇到很多常见的难题,终于有片段时间整理一些已完善的文档,在此分享以供所需朋友的 实现参考,少走些弯路,在此篇幅中偏重于ES的优化,关于HBase,Hadoop的设计优化估计有很多文章可以参考,不再赘述。 二、需求说明 项目背景: 在一业务系统中,部分表每天的数据量过亿,已...

Spring 最常用的 7 大类注解,史上最强整理!

2019-11-20
阅读 6 分钟
167
随着技术的更新迭代,Java5.0开始支持注解。而作为java中的领军框架spring,自从更新了2.5版本之后也开始慢慢舍弃xml配置,更多使用注解来控制spring框架。而spring的的注解那么多,可能做java很多年,都用不上。这里按照类型总结了这7种最常用的注解。

Java线上问题排查神器Arthas快速上手与原理浅谈

2019-11-18
阅读 9 分钟
141
前言 当你兴冲冲地开始运行自己的Java项目时,你是否遇到过如下问题: 程序在稳定运行了,可是实现的功能点了没反应。 为了修复Bug而上线的新版本,上线后发现Bug依然在,却想不通哪里有问题? 想到可能出现问题的地方,却发现那里没打日志,没法在运行中看到问题,只能加了日志输出重新打包——部署——上线 程序功能正常了...

Java架构师花了10个小时,写出了这篇 K8S 架构解析

2019-11-15
阅读 10 分钟
283
每个微服务通过 Docker 进行发布,随着业务的发展,系统中遍布着各种各样的容器。于是,容器的资源调度,部署运行,扩容缩容就是我们要面临的问题。

我所经历的一次Dubbo服务雪崩,这是一个漫长的故事

2019-11-11
阅读 5 分钟
120
这周,笔者经历了一次服务雪崩。服务雪崩,听到这个词就能想到问题的严重性。是的,整个项目,整条业务线都挂了,从该业务线延伸出来的下游业务线也跟着凉了。笔者是连续三天两夜的忙着处理问题,加起来睡眠时间不足5小时,今天才得以睡个好觉。但事故之后还有很多问题等着去处理。

Docker 数据持久化的三种方案,你总能用到

2019-11-07
阅读 5 分钟
109
容器中的数据可以存储在容器层。但是将数据存放在容器层存在以下问题: 数据不是持久化。意思是如果容器删除了,这些数据也就没了 主机上的其它进程不方便访问这些数据 对这些数据的I/O会经过存储驱动,然后到达主机,引入了一层间接层,因此性能会有所下降 Docker 提供了3种持久化数据的方式: volumes:存于主机文件系...

Docker 从入门到掉坑,学到就是赚到

2019-11-06
阅读 4 分钟
124
简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器。但是docker本身和虚拟机还是有较为明显的出入的。我大致归纳了一下,可以总结为以下几点:

动图+源码,演示Java中常用数据结构执行过程及原理

2019-10-16
阅读 4 分钟
111
最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList LinkedHashMap中的双向列表不再是回环的. HashMap中的单链表是尾插, 而不是头插入等等, 后文不再赘叙这些差异, 本文目录结构如下: LinkedList 经典的...

推荐 2 款超牛逼、炫酷、实用的Docker管理工具

2019-10-15
阅读 2 分钟
154
Docker 容器镜像是一个轻量、独立、含有运行某个应用所需全部软件的可执行包,那么一个 Docker 镜像里面会包含什么东西?这个名为 Dive 的工具正是用来分析和浏览 Docker 镜像每层的内容。