page contents

面经||【字节跳动】-Java岗-抖音直播(很有水准)

一面:(2.3 68min) 面试的是一个小姐姐,面试体验很好,会根据回答抛出问题,过程还算顺利,没太多卡壳的地方 自我介绍项目介绍项目用到token,说一下项目如何实现的,如果多终端呢还可以...

attachments-2021-12-efCg479061cbd34d7ec4f.png

一面:(2.3 68min)

面试的是一个小姐姐,面试体验很好,会根据回答抛出问题,过程还算顺利,没太多卡壳的地方

  1. 自我介绍
  2. 项目介绍
  3. 项目用到token,说一下
  4. 项目如何实现的,如果多终端呢
  5. 还可以存放在哪里 session
  6. 那cookie是什么
  7. 为什么当时没有这么实现? 回答:因为不会
  8. 算法题:正整数开根,保留两位小数
  9. JMM说一下(开始背书)
  10. 说到线程,那么线程是属于哪块区域的
  11. GC说一下(开始背书)
  12. 有用过hashmap吗?实现?
  13. 是线程安全的吗?
  14. 想要线程安全怎么办?
  15. (经典HashMap背书)
  16. 为什么使用红黑树
  17. 红黑树特性
  18. 和平衡搜索二叉树的区别
  19. 时间复杂度?
  20. 在浏览器输入一个网址会发生什么?(背书了背书了)
  21. TCP/IP模型和OSI模型
  22. 用过索引吗
  23. 怎么样确定使用到了索引
  24. 索引类型
  25. 为什么用B+树
  26. 和B树有什么区别
  27. 聚簇索引和非聚簇索引
  28. 有用过锁吗
  29. 说一下lock和synchronized的区别
  30. 代码题:手写一个单例模式吧(默写)
  31. 看到有volatile关键字
  32. 说一下volatile吧
  33. 和synchronized的区别
  34. 乐观锁悲观锁
  35. 反问环节

一面结束,问了面试官感觉面试下来感觉如何,说挺好的,就是有的地方遗忘了,希望后续补全一下知识点。
一面的大量背书直接导致我后续准备接着复习基础,而且一面没有问到计网和多线程,操作系统的知识,感觉之后面试可能是重点,就开始重点准备这一块。

二面 (2.7 53min)

这次的面试官起来就知道是一个大佬,后来问的一些问题也证明了我的猜想

  1. 自我介绍
  2. 没有问项目,问为什么没有实习,自己学习是怎么样学习的,课程成绩
  3. 你觉得自己相比一年前进步了多少
  4. 算法题:编辑距离
    我直接说了我刷到过这道题,然后开始默写,写完了问到替换的时候,我卡住了,就是因为这么卡了一下,让面试官认为我是在背题,后面思考了一会就说了出来,然后还问了我状态转移方程是什么,我说我做动态规划不太会写这种方程,然后大概解释了一下状态有哪几种,状态之间是如何转移的。
    开始提问:
  5. 你使用的是什么版本的jdk?
    硬着头皮说1.8,因为我也没在意,然后开始问1.6和1.7 1.8的差别
    (没准备,从JMM角度和HashMap角度说了一下)
  6. HashMap和HashTable的区别是什么
  7. 那么HashMap有没有线程安全的版本
  8. 如何实现的?
    分段锁分段锁,但是当时忘了,就记得一个继承于ReentrantLock,包括一些细节也没有那么了解,只说了个大概,一些情况需要使用到synchronized关键字。
  9. 说到使用到了mysql 问索引
  10. 索引数据结构
  11. 为什么要用b+树
  12. 聚簇索引和非聚簇索引 (一开始说反了,后来突然意识到)
  13. b+树叶子节点链表一定是放的是key和值吗?
  14. 怎么去分配聚簇索引和非聚簇索引
  15. 为什么这么去分配
  16. 你的项目有很大量级吗,有做过数据库优化吗
    这里实话实说没有,然后直接没问,但是是准备了这方面的知识的
  17. 然后问int存到数据库里面一般你都用什么类型来接
    一开始说我自己项目里我全部是用varchar的,但是显然这样不是最优选择,可以看出来面试官有点迷惑(用varchar?!),最后说用int
  18. 顺着问varchar(35)的含义
    一开始说错了,思考了一下,正确说出来了
  19. 又问了中文在varchar中占几个字符
    回答了不同编码中中文所占字符应该不一样的,回答的2个,但实际是3个,后续面试官纠正的
  20. 又问你在自己项目里有注意过这个编码问题吗
  21. 面试官:感觉你的项目都使用的比较老的技术栈啊(因为看到简历上写的有一个项目是使用jquery和js实现前端页面)
    然后开始问原因,我解释这是刚刚开始做小项目的时候使用的,后来就开始接触前端vue并且结合做前后端分离开发,但是自己还是主要往后端去发展的。
  22. 面试官:感觉你都是为了学一个技术去学啊,你有了解过linux吗
    说了说自己之前用虚拟机部署redis的经历
  23. 面试官:为什么要去用redis呢
    讲了一下redis的优点,然后说而且这个现在基本都在用
  24. 面试官:你说快,那有多快,相比mysql快很多倍,是多少倍,是多少量级的,你现在的电脑配置说一下,四核i5最多可以跑多少个连接
    (面露难色)没试过,但是我之前看学习视频的时候看到别人测过,大概是在几万到几十万这个范围
  25. 面试官:几十万是几十万?
    十几万,根据redis中的一些配置的不同会有上下的浮动

反问环节:
问了没回答出来的编码问题,问之后需不需要去专门注意这一块的知识
又问了根据这次面试,觉得我那块是需要加强的
然后面试官给出了他的见解和建议,让我多思考

反问环节一结束我就大概知道自己凉凉,三四天准备的东西一个都没有问到,就算法最近恶补了一下刷到了,问的问题都是自己平时想都没有想过的,确实就还需要努力,二面直接让我认识到字节的面试难度,在一些小细节上也需要深挖,而且对于整体知识点的连接也尤为重要。

最后的最后还是继续努力,春招上岸自己满意的公司!!也感谢字节大大给的面试机会

以上就是本次分享内容,更多大厂面试经验持续关注六星社区

想要高效学习,指路微信公众号——【python编程学习圈】每日分享学习干货,关注即可免费领取整套Python零基础到入门资料及学习教程,走过路过,千万不要错过!!快行动起来!!

attachments-2022-05-ZwUUz0Co628f2e3079c7b.jpeg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1658 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1658 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章