字节抖音后端一面

网友投稿 864 2022-09-06

字节抖音后端一面

字节抖音后端一面

字节抖音后端一面

时间:2020/01/16 15:00

历时:1小时01分钟

第一次面试,真的很紧张,说话吞吞吐吐,应该凉了,不过面试官人很nice,是一次不错的经历,查缺补漏,争取下次更好

自我介绍开始聊专业知识:

java中的hashmap 和 concurrenHashmap的区别?hashmap和hashTable的区别?为何一个线程安全一个线程不安全?

hashmap线程不安全,hashtable线程安全,hashTable方法上加了synchronize关键字

concurrenHashMap如何实现线程安全且并发性能比hashTable高?

锁分段解释下锁分段?

这个太菜了,直接跟面试官说没研究过concurrenHashmap的源码,不想浪费自己的时间

聊一下volatile作用?

我答了实现共享变量的可见性然后聊聊可见性实现原理:

我答了通过在两个操作之间插入内存屏障禁止操作系统重排序

最后聊聊volatile使用场景

我答了在共享变量读多写少的情况。。。

聊一下synchronize关键字实现原理?synchronize的锁升级?

无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁

有用过java中的队列吗?

我说有,我使用过优先队列然后问我java中priorityQueue线程安全吗?

不安全

java中的队列有线程安全的队列吗?

我蒙了阻塞队列hhh

怎么实现线程安全的?

不清楚

聊聊数据库吧

MySQL事务隔离级别说一下?

说了那四个

可重复读如何实现?

我一开始是说了不可重复读实现是, undo日志保存的是开始前数据值,redo日志保存的是事务结束后数据的值。不可重复读是每次读undo日志的最近版本,所以可能对同一数据读到不同的版本,而可重复读是因为,在读时加行锁,因此数据能保证统一,但是没有对表加锁,所以不能知道是否有新的数据插入,所以可能会出现幻读

MySQL中有几种类型的锁?

我答了,页级锁,表级锁,行级锁

更新,查询数据库记录时是如何加锁的?

我答的是,更新时加表锁,查询时加的是行锁(这块我也不是很清楚,因为还在复习,得好好补补了)

聊一下索引,MySQL的索引是什么数据结构

B+树

为什么用B+树?

B+树,多叉平衡树,可以在较少的IO次数下,完成我们的查询工作

聊一下最左匹配原则

看你项目中有用到redis,聊一下

redis你在项目中怎么用

保存token

redis在项目你们有几台

一台挂了怎么办?

我说我配置了持久化

计网

tcp三次握手,四次挥手过程最后的等待2msl的作用

最后15分钟做一道算法题?

leetcode单词分割,我太菜了没写出来,应该gg了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手把手第二篇:如何设计 SDK
下一篇:NET程序员吧需要知道的小知识——关于数据库(.net数据库技术)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~