遭遇调岗,降薪,下半年到底该不该跳槽

本文讲述了作者在字节跳动面试中的表现,涉及分布式技术、多线程并发控制、分布式锁(如Redis和Zookeeper)的应用,以及在高并发场景下的淘宝电商策略。同时,作者分享了个人对Java开发者自学提升的见解和免费学习资源链接。
摘要由CSDN通过智能技术生成

前段时间收到了字节跳动的面试,虽然有点小震惊,但还是用平常心对待了。结果一不小心,面试的时候就吊打了面试官。不愧是我!

前后一个半小时的面试过程全程没卡壳,项目和算法全部搞定,甚至聊到了面试官的盲点…

**面试官:**我看你简历上掌握的技术还蛮多的啊。

**在下:**还行还行,平时会多研究一下。

**面试官:**那直接开始吧。我看你写着熟练掌握分布式技术,那么在多线程并发的情况下,如何保证一个代码块在同一时间只能由一个线程访问?

**在下:**简单,可以用锁来保证。比如java的synchronized语法以及reentrantlock类等等;

**面试官:**嗯嗯,如果在分布式的集群环境中,如何保证不同节点的线程同步执行呢?

**在下:**对于单进程的并发场景,可以使用语言和类库提供的锁;对于分布式场景,可以用分布式锁。

**面试官:**分布式锁的实现有哪些?

**在下:**Memcached分布式锁、Redis分布式锁、Zookeeper分布式锁、Chubby;

**面试官:**哟呵,你对分布式锁研究很深嘛。如何用Redis实现分布式锁?

**在下:**加锁使用setnx命令,key是锁的唯一标识,按业务来决定命名……(此处略去)

**面试官:**Redis与Zookeeper实现分布式锁的区别?

**在下:**redis分布式锁,需要不断去尝试获取锁,比较消耗性能;zk分布式锁,获取不到锁,注册个监听器即可,性能开销较小;redis获取锁的那个客户端bug了或者挂了,那么只能等待超时时间之后才能释放锁;而zk的话,因为创建的是临时znode,只要客户端挂了,znode就没了,此时就自动释放锁…

**面试官:**我们聊点别的吧……我看你关于并发这一块也了解过,双11高并发大促场景下,为什么淘宝只能够下订单, 而不能够退款?

**在下:**高并发系统有三把利器用来保护系统:缓存、降级、限流,不能退款就是服务降级,保证核心任务的正常运行…

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了

J-1710435446275)]

[外链图片转存中…(img-tjMJeeer-1710435446275)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值