美团一面

这篇博客分享了美团基础架构部软件中心的面试经验,涵盖了Java中的HashMap与ConcurrentHashMap、Java9+的新特性、Jvm内存结构、线程池原理、Redis数据结构、操作系统问题排查以及算法题目。还讨论了实习期间的学习成果,包括Spring生命周期、分布式事务选型等挑战。

美团基础架构部的软件中心

主要负责容器化( 内核,调度,弹性,镜像,自动化运维)

Java

1. HashMap和ConcurrentHashMap

HashMap是基于拉链式的散列方法,当阈值超过3/4*cap时,就会进行桶的扩容,扩容时如果红黑树的个数小于6则重新变为链表。扩容的时候会拆分成两个链表(要么一致,要么差一个oldCap)

ConcurrentHashMap有一个特别的字段sizeCtl,不同的值有不同的含义。当为负数时:-1代表正在初始化,-N代表有N-1个线程正在 进行扩容;当为0时:代表当时的table还没有被初始化;当为正数时:表示初始化或者下一次进行扩容的大小。Con在计算size的时候有两个步骤,重复计算三次,不一样的话加锁计算

红黑树的结构

2. Java9+新特性

  • JDK9的jshell,接口私有方法,多版本兼容jar,try-with-resourses的改进,创建不可变集合,增强stream API,把String的char[]改为byte[]
  • jdk11支持局部变量类型推导
  • jdk12 switch不用写break

3. Jvm的内存结构

堆,方法区,虚拟机栈,本地方法栈和程序计数器

3. 线程池的原理

核心线程,最大线程,等待时间,等待单位,拒绝策略,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值