字节终于offer 分享下面经

一面
了解 ConcurrentHashMap 如何做到并发安全的吗?

是怎么使用 CAS 的?

刚刚你提到 synchronized,Java 中还有哪些锁?

能说一下 synchronized 具体加锁过程?

可重入是怎么做的呢?怎么判断是不是当前线程持有的呢?(每太说清楚)

ReentrantLock 有个公平锁和非公平锁,公平锁如何做的?

现在有一个线程池,有 5 个线程,如何等待这五个线程完成再继续往下执行?
只说了个 join,没回答出

线程池用过吗?自己写过吗?
(我还以为是自己配置7个参数,他的意思是完整的自己写的线程池。。。)

七个参数解释一下?

了解怎么确定最大线程数呢?

数据库的事务指什么?

用过 Mysql 吗?隔离级别有哪些?

可重复读是怎么做到的?

给了个 SQL,select * from table order by create_time limit 10000 100,假设有一亿数据,create_time 上有索引,有什么问题?(大概是这样)
只回答出 limit 会扫描 10100 条数据,不是他想要的答案。

HTTP 头部有哪些?(只说了几个,谁去记这个啊)

HTTP 有哪些方法?

HTTPS 与 HTTP 的区别?SSL 是如何加密的?

TCP 头部有什么?

你了解过 reset 吗,重置连接?
没有

SYN 洪水攻击?

平时有手动实现 TCP 编程吗?
做过,但记不清勒

网络编程会用到 IO 多路复用, 讲一下IO多路复用?
不太清楚。。。

算法题:链表 m-n 上反转

二面
细问我的垃圾项目,问到你说不清为止。

除了Redis,其他的中间件有接触过吗?比如说消息队列,MQ,ES 有接触过吗?
没有
其他项目有想要介绍的吗?
囧,没有
你搭建了博客,看你使用了 Docker,有了解底层实现吗?
只了解了使用,不过我对 Nginx 有了解比较多
对 Linux 命令熟吗?
不是很常用

Redis 有哪几种数据类型?
sort set 是怎么实现的?
为什么使用跳跃链表?不用其他的有序结构,比如平衡二叉树,查询效率也很高?(凭猜测说了几点)
sort set 怎么插入数据?(没答好,乱扯一通

你了解过 Redis 设置一个键的过期时间是怎么实现的吗?
不了解
内存逐出策略?

知道一条SQL 从开始到执行完成经历的过程?
没答上来
怎么判断能不能利用索引,有哪些决策?

了解 MySQL 的事务隔离级别吗?

做了道 SQL 的事务图,MVCC相关,判断读取到的内容

算法:正则表达式

三面:
从一道算法,地图左上角走到地图右下角,只能往下往右,聊解法,dp,dfs,bfs,讲到哪聊到哪。

然后问我八股,他翻了下2分钟文档,说之前两次问得差不多了,不问了(看来字节面评记得很详细啊)。问了点 Git 相关操作,与 SVN 对比的优势。

算法:62 进制(思路很快就有,但是细节错误百出,在面试官提醒了两三个细节才解决的,所以下来就感觉凉了)

三面后等了 3 天 offer

总的来说运气很好,三月份才知道有暑期实习,中旬才开始投递准备,一个月复习计网操作系统Java基础多线程的同时,快速“掌握”虚拟机、Redis,LeetCode 到现在才刷60多道题。腾讯一面进人才库,阿里三面后养鱼锁hc,最后已经打算备战秋招了,没想到字节捞起了我,这份好运我不会辜负的。

#面经#
全部评论
对于一面那几个楼主没答好的问题,出于交流的本意,本菜鸡说一下自己的想法🤣AQS框架里会比较currentThread和AQS内部维护的一个当前独占线程变量,如果一致说明是当前线程持有锁;countDownLatch(5)实现,每个线程完成后减1,减到0的时候执行想要的业务;mysql那个我只能想到会回表查询,至于1亿有什么考究暂时没想出来。
点赞 回复 分享
发布于 2022-04-22 23:53
三面算法题跟我一样的,我大一做过几乎完全一样的,所以我细节处理得不错,但是我三面八股一问三不知,二面也不是很理想,二面项目比楼主你稍微好一些,然后一周后offer了,大厂只有这一个offer,感觉是运气很好了
点赞 回复 分享
发布于 2022-04-24 21:47

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点??? 还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力………… 感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
我见java多妩媚:大外包
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
评论
10
62
分享
牛客网
牛客企业服务