不管卷不卷,面试还是得问问你G1原理!

2021-06-23
阅读 4 分钟
2.3k
所有的垃圾回收器的目的都是朝着减少STW的目的而前进,G1(Garbage First)回收器的出现颠覆了之前版本CMS、Parallel等垃圾回收器的分代收集方式,从2004年Sun发布第一篇关于G1的论文后,直到2012年JDK7发布更新版本,花了将近10年的时间G1才达到商用的程度,而到JDK9发布之后,G1成为了默认的垃圾回收器,CMS也变相地相当...

那个陪我打王者的兄弟进了阿里

2021-06-09
阅读 6 分钟
1.2k
这一次面经的分享来自很早和我一起打王者的兄弟,为啥印象这么深刻呢,因为他鲁班贼6,以至于我单独给他存了个备注。这一次历时两个月,他拿到了一大堆的Offer,恭喜他拿到了心仪的阿里Offer。按照惯例,当然是邀请分享一波面经了。不过这一次是我看见面经里整理的最完善的了,几乎不需要我做什么修改就可以发出来了,再...

现在已经卷到需要问三色标记了吗?

2021-05-28
阅读 4 分钟
1.5k
引用计数,给对象添加一个计数器,每当有地方引用它计数器就+1,反之引用失效时就-1,那么计数器值为0的对象就是可以回收的对象,但是有一个问题就是循环引用的话无法解决。

程序员版孔乙己

2021-04-30
阅读 2 分钟
1.3k
互联网的格局,是和别处不同的:都是格子衫,稀疏的头发,双肩包,男。写代码的人,傍午傍晚散了工,每每三两人,背着手,沿着软件园溜达一圈。倘肯花点钱,便还会走到星巴克,买一杯咖啡,那样便能再多摸几分钟的鱼。我从十九岁起,便在软件园的星巴克打工,老板说,看着还算清秀,就让我去收银。我从此便成为了收银员...

痛!痛!痛!我们的好兄弟Git,一路走好!

2021-04-29
阅读 4 分钟
1.7k
文章是正经文章,标题不要在意,哈哈Git作为现在主流的版本控制工具,但是如何在软件开发过程中进行合理的分支管理是一个见仁见智的问题。接下来我会对比下现有的几种比较普遍的分支管理方式和之前在阿里时候使用Aone的区别。Git Flow先看一张图片,这张图片来自Vincent在2010年提出的方案,完美的诠释了Git Flow的工作...

谈谈中台架构之交易中台

2021-04-22
阅读 3 分钟
3.8k
这些年也经历了从交易到金融中台的体验,对中台也算是有个比较粗略的理解,这些年的中台真的有没有那么好,甚至于现在想到什么业务就想搞中台,想做什么就想往中台迁移,好像中台就是万能的,没有中台既不能显示自己的能力,又不能突出自己的水平。

一个单例还能写出花来吗?

2021-04-15
阅读 4 分钟
866
常见的单例写法就是饿汉式、懒汉式、双重加锁验证、静态内部类和枚举的方式,写法可能大家都知道,不过针对不同的写法还是有可以继续深挖一下的地方,让我们从最简单的几种写法开始回顾单例,不想看前面的话直接往后翻好了。

为什么数据库字段要使用NOT NULL?

2021-04-05
阅读 4 分钟
9.1k
最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOT NULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。基于目前大部分的开发现状来说,我们都会把字段全部设置成NOT NULL并且给默认值的形式。通常,对于默认值一般这样设置:整形,我们一般使用0作为默认值。字符串,默认空字符串时间,...

《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途

2021-03-08
阅读 5 分钟
1.9k
昨天早上11点飞大理,结果9点钟要出门的时候发现密码锁坏了,不用密码都能打开,一边司机师傅在催着走,一边连忙打电话给房东和客服找人维修,这是第一。

动听百年:音乐播放器发展沉浮史

2021-01-23
阅读 5 分钟
3.6k
对你来说,音乐的意义是什么?有的人觉得听音乐只是为了一时消遣的娱乐:伤心的时候音乐让自己释怀,休闲的时候音乐让自己愉悦,健身的时候听音乐让自己更有动力。也有人认为音乐是封存记忆的压缩包,当熟悉的旋律某一天在耳畔再次响起,一些人、一些事,都只发生在昨天一样。而卡尔.伯纳克说,音乐不是消遣,不是娱乐,...
封面图

面试官:数据库自增ID用完了会怎么样?

2021-01-04
阅读 2 分钟
1.2k
看到这个问题,我想起当初玩魔兽世界的时候,25H难度的脑残吼的血量已经超过了21亿,所以那时候副本的BOSS都设计成了转阶段、回血的模式,因为魔兽的血量是int型,不能超过2^32大小。

面试官:缓存一致性问题怎么解决?

2020-12-21
阅读 2 分钟
8.8k
关于Redis的其他的一些面试问题已经写过了,比如常见的缓存穿透、雪崩、击穿、热点的问题,但是还有一个比较麻烦的问题就是如何保证缓存一致性。

淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)

2020-12-15
阅读 3 分钟
1.6k
上一篇的同学拿到了bigo和腾讯的offer,这一次的分享来自两位同学的面试综合,他们分别拿到了菜鸟、嘀嘀、盒马的多个offer,由于面试的时间跨度时间太长,且面试的部门太多,只能回忆到具体的面试题,无法再具体区分出几面了,但是面试真题还是可以拿出来分享一下,且看正文。

我摊牌了,大厂面试Linux就这5个问题

2020-12-08
阅读 4 分钟
3.6k
说真的,这就是《我想进大厂》系列第八篇,但是Linux的问题确实很少,就这样,强行编几个没有营养的问题也没啥意义。1.CPU负载和CPU利用率的区别是什么?首先,我们可以通过uptime,w或者top命令看到CPU的平均负载。Load Average :负载的3个数字,比如上图的4.86,5.28,5.00,分别代表系统在过去的1分钟,5分钟,15分...

苦修月余,斩获bigo、腾讯offer,面经奉上!

2020-12-08
阅读 3 分钟
2.9k
2020年已经接近尾声了,跳槽的季节又来了,刚好,最近有好几个读者拿到了腾讯、阿里大厂的offer,在我厚颜无耻的追问之下,他们终于给我透露出了面试题的细节,这份热乎乎、滚滚烫的面经分享给大家,希望对大家有所帮助。

《我想进大厂》之Spring夺命连环10问

2020-11-30
阅读 4 分钟
1.7k
模板方法模式:主要是一些对数据库操作的类用到,比如 JdbcTemplate、JpaTemplate,因为查询数据库的建立连接、执行查询、关闭连接几个过程,非常适用于模板方法。

《我想进大厂》之Java基础夺命连环16问

2020-11-12
阅读 8 分钟
1.2k
由于进程是资源分配和调度的基本单位,因为进程的创建、销毁、切换产生大量的时间和空间的开销,进程的数量不能太多,而线程是比进程更小的能独立运行的基本单位,他是进程的一个实体,可以减少程序并发执行时的时间和空间开销,使得操作系统具有更好的并发性。

百亿级数据分表后怎么分页查询?

2020-11-09
阅读 3 分钟
16k
当业务规模达到一定规模之后,像淘宝日订单量在5000万单以上,美团3000万单以上。数据库面对海量的数据压力,分库分表就是必须进行的操作了。而分库分表之后一些常规的查询可能都会产生问题,最常见的就是比如分页查询的问题。一般我们把分表的字段称作shardingkey,比如订单表按照用户ID作为shardingkey,那么如果查询...

过去,现在,未来

2020-11-06
阅读 5 分钟
2.5k
2003年的时候,我第一次打开了IE浏览器,哦,我很失望,原来这就是互联网,这就是网络。好像平平无奇,没什么值得令人震惊的东西发生,可是在此之前,我很早的时候就接触到了电脑,但是从来都是用来玩单机游戏,没上过网,这就是当时的现实。

高频面试题:秒杀场景设计

2020-11-04
阅读 3 分钟
4.5k
秒杀这个话题到现在来说已经是一个老生常谈的话题了,不过因为又临近一年一度的双11,而且发现前段时间无论是阿里还是腾讯一些大厂其实还是在频繁的问到这个场景题,所以还是准备拿出来说说。

面试官:面对千万级、亿级流量怎么处理?

2020-10-28
阅读 8 分钟
2.1k
这个《我想进大厂》系列的最后一篇,终结篇。可能有点标题党了,但是我想要表达的意思和目的是一致的。这是一道很常见的面试题,但是大多数人并不知道怎么回答,这种问题其实可以有很多形式的提问方式,你一定见过而且感觉无从下手:面对业务急剧增长你怎么处理?业务量增长10倍、100倍怎么处理?你们系统怎么支撑高并发...

《我想进大厂》之Dubbo普普通通9问

2020-10-27
阅读 3 分钟
1.2k
这是面试专题系列第四篇,Dubbo系列。Dubbo本身并不复杂,而且官方文档写的非常清楚详细,面试中dubbo的问题一般不会很多,从分层到工作原理、负载均衡策略、容错机制、SPI机制基本就差不多了,最大的一道大题一般就是怎么设计一个RPC框架了,但是如果你工作原理分层都搞明白了这个问题其实也就相当于回答了不是吗。

《我想进大厂》之JVM夺命连环10问

2020-10-27
阅读 6 分钟
1.1k
堆:堆Java虚拟机中最大的一块内存,是线程共享的内存区域,基本上所有的对象实例数组都是在堆上分配空间。堆区细分为Yound区年轻代和Old区老年代,其中年轻代又分为Eden、S0、S1 3个部分,他们默认的比例是8:1:1的大小。

来自朋友最近阿里、腾讯、美团等P7岗位面试题

2020-10-27
阅读 2 分钟
3.1k
来自年初和最近朋友的大厂面试题。阿里巴巴对象如何进行深拷贝,除了clonehappen-before原则jvm调优的实践单例对象会被jvm的gc时回收吗redis如果list较大,怎么优化tcp的沾包与半包socket编程相关的一些api和用法建立和处理连接的是同一个socket吗,socket中两个队列分别是啥项目中有使用过netty吗TSL1.3新特性AES算法原...

从开源协议到谷歌禁用华为、Docker实体清单事件

2020-10-24
阅读 5 分钟
5.5k
平时我们在日常开发生活都在大量和开源软件打着交道,例如安卓、Linux、Github、Docker等,而其中开源协议比如MIT、Apache也是耳熟能详,但是真正对开源协议的了解相信对大部分人来说都是一知半解。而近来频繁冒出一些事件让我们对开源协议产生了更大的疑问。

《我想进大厂》之JVM夺命连环10问

2020-10-24
阅读 6 分钟
1.1k
堆:堆Java虚拟机中最大的一块内存,是线程共享的内存区域,基本上所有的对象实例数组都是在堆上分配空间。堆区细分为Yound区年轻代和Old区老年代,其中年轻代又分为Eden、S0、S1 3个部分,他们默认的比例是8:1:1的大小。

面试官:说说CountDownLatch,CyclicBarrier,Semaphore的原理?

2020-10-21
阅读 8 分钟
4.6k
初始化一个CountDownLatch实例传参3,因为我们有3个子线程,每次子线程执行完毕之后调用countDown()方法给计数器-1,主线程调用await()方法后会被阻塞,直到最后计数器变为0,await()方法返回,执行完毕。他和join()方法的区别就是join会阻塞子线程直到运行结束,而CountDownLatch可以在任何时候让await()返回,而且用Ex...

《我想进大厂》之mysql夺命连环13问

2020-09-30
阅读 6 分钟
1.8k
myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。

《我想进大厂》之MQ夺命连环11问

2020-09-29
阅读 5 分钟
1.2k
继之前的mysql夺命连环之后,我发现我这个标题被好多套用的,什么夺命zookeeper,夺命多线程一大堆,这一次,开始面试题系列MQ专题,消息队列作为日常常见的使用中间件,面试也是必问的点之一,一起来看看MQ的面试题。

没有返回值的构造函数是怎么完成赋值的?

2020-09-23
阅读 2 分钟
1.1k
众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?