首页 文章详情

吊打字节跳动面试官是种什么体验?

java1234 | 291 2020-09-16 07:36 0 0 0
UniSMS (合一短信)

受疫情影响,很多人今年上半年根本不敢跳槽找工作,甚至相当多的程序员遭遇了裁员、调岗、降薪等!好在金九银十面试季到了!


面试的时候,很多人都小心翼翼,如履薄冰,担心,面试紧张、卡壳、答不上来怎么办?生怕自己说错一句话,就错失机会。


被面试官吊打,碾压,是常态,毕竟大多数面试官工作经验和技术都更加丰富嘛。


但是,术业有专攻,总有一些技术牛逼的程序员可以吊打、碾压面试官!


本人经常隔段时间就偷偷投点简历,请假出去面试几次,目的不是想跳槽,主要是为了看看市场上的技术流行趋势,顺便检验一下自己的水平,当然,如果面到了心仪的公司或者大厂,那不是更好嘛,哈哈哈!


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

面试官:支付宝转账提现功能应该如何优化?

在下:一致性、高吞吐方案等,具体的实现可以…(此处略去)

……

面试官:现在我有一个十万大小的数据集,要从中寻找选出最大的10个元素,怎么做呢?

在下:可以建立一个最小堆,首先取10万个元素中的前10个元素来建立由10个元素组成的最小堆。这样堆顶元素便是当前已知元素的第10大的数;然后依次读取剩下的99990个元素……

面试官:非常非常棒啊!可是今天已经3点了,天色不早了,您先回去等通知吧!

在下:???


面试的时候,开口第一句,面试官就知道你的水平了。你很多东西用过,但是并不懂底层原理,面试官一问,你就哑火了…

工作多年的程序员,应该掌握哪些技术?如何才能在大厂面试中侃侃而谈,在无数竞争对手中脱颖而出?


为了给在工作和技术上遇到瓶颈的同学找到发展方向,我邀请了资深缓存专家Lison老师(江湖人称"李不白")与阿里大神James,带大家深入学习线上缓存技术应用场景及优化思路、网络编程BIO/NIO/操作系统内核及多路复用底层实现。
《双11线上缓存技术及底层原理分析》


适合人群:

1.适合有Java架构开发经验基础的同学;

2.具备一定自学能力

3.敢于突破自己,挑战高薪;

4.立志于成为高级程序员、架构师;

课程一览:

9.15

阿里P7面试必备,双11线上缓存技术精讲

1. 面试必问:亿级并发锁机制缺陷分析

2. 并发锁续命等问题实战突击

3. Redisson实现分布式锁实战

4. P7级面试题: Redisson内部机制解读; 

9.16

金九银十备战, 网络通信与线程内部机制全解

1. 多路复用Epoll机制解读

2. 网络通信:Java实现BIO/NIO技术实战

3. 进阶技术:深入接触Linux内核

4. 面试题:线程内部机制原理全解

今天加入再赠送一份Github“火”【Java 超硬核面试 “备战” 手册】

程序员职业规划篇

职业分析及定位
职业生涯经验和建议
跳槽篇
跳槽是为了什么?不为什么?什么时间 / 状态下跳槽最合适?跳槽的节奏和路线图应该是怎样的?造成面试不通过的核心原因,有哪些?良好的心态和体态
实操篇
求职简历应该如何写?怎么“高效”寻找求职渠道?面试准备及总结900份简历模板
BATJ一线大厂面试题篇
百度面试篇腾讯面试篇京东面试篇头条面试篇美团面试篇华为面试篇滴滴面试篇互联网公司高频面试必备综合篇并发编程面试题汇总JVM面试题汇总Netty常被问到的那些面试题汇总Tomcat面试题整理汇总Mysql面试题汇总Spring源码深度解析Mybatis常见面试题汇总Nginx那些面试题汇总Zookeeper面试题汇总RabbitMQ常见面试题汇总Kafka面试题汇总Redis常见面试题汇总Dubbo面试题SpringBoot,SpringCloud面试汇总集合框架面试题设计模式面试题数据库面试题面试必备之乐观锁与悲观锁多家互联网公司常见面试题库Java高频核心面试题库
对于Java后端的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的Java学习者,希望也能帮助到你。

扫码添加肉兰老师报名

如遇扫码受限,请添加微信:xiangxue2068425757


“来,跟着两位大神一起吊打面试官!”

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter