三年经验社招字节跳动,历时一周四轮技术面成功拿下offer,附上我的面试心得!

前言

首先准备面试:JAVA基础,JVM,JUC,多线程,MQ,redis,Mysql和项目
将自己的项目写成文档,将各个功能的具体实现写出来,反复推敲,有没有需要改进的地方,首先要把自己的项目讲清楚, 不要觉得自己实现的,自己就可以表达的很清楚,一定要写出来,我的项目实现写了三页A4纸

开始面试:

一轮面试:将自己的项目,巴拉巴拉说了40分钟
然后问问题,threadlocal实现原理
b树,b+树,聚簇索引,非聚簇索引,普通索引和唯一索引的区别
线程池核心参数,线程池具体场景实现,线程池的核心参数作用
MQ的数据一致性如何实现
秒杀活动如何实现
秒杀活动的产品是否可以退换,如何实现
集合随便问了问
然后问了同步锁和lock锁

商品秒杀实现过程:可以将数据库中所有的SKU缓存到redis中,进行下单的时候,检查redis中是否存在,如果存在并有库存,满足购买条件,则下单,进行支付,当支付的请求进入服务器的时候,首先检查redis中的SKU商品,如果被其他人抢走了,则支付失败;如果剩余的满足订单条件,获取分布式锁,加入消费消息到数据库中,并将消息发送给rabbitMQ-broker,扣除redis库存,支付成功,释放分布式锁,通过中间件更新mysql中的数据,如果服务器崩溃࿰

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值