背景
武大计科本科应届生,面试前看过马老师的公开课,了解到算法的重要性,利用这微薄的时间看完了左神的算法书《程序员代码面试指南 IT名企算法与数据结构题目最优解 》顺带着看了左神很多算法视频,每天LeetCode题也是必刷三道以上。
皇天不负有心人,在马老师指导下修改的简历成功拿到字节跳动的面试邀请
字节3+1面
一面(7.19)
- TCP三握四挥,closewait,timewait
- TCP拥塞控制
- 进程间通信
- 消息队列了解吗
- 消息队列怎样解决消息的重复消费和漏消费
- 了解logistic regression吗
- 了解fm算法吗
- 用过哪些socket的封装
- 大量url找出频率最高的k个
- 算法:手写快排、二叉树最长路径
二面(7.19)
- 给一个sql,判断数据库索引是否生效,为什么
- 联合索引怎么存的
- 项目里出现过oom吗,怎么排查
- redis持久化策略
- Hadoop系列的技术有过了解吗
- 算法:两个有序数组找第k个,要求O(logk)时间复杂度
三面(7.23)
- 项目里用过多线程相关吗
- 线程几种实现方式
- callable和runnable有什么本质区别
- 内存分页分段
- LRU LFU怎么实现
- hashmap数据结构和扩容
- concurrenthashmap加锁和扩容机制
- synchronized原理
- synchronized和lock
- countdownlatch怎么实现的
- aqs原理
- 介绍一下java的gc
- redis跳表,为什么不用树
- 设计一个数据结构实现双端队列,支持两端插入删除和根据index查找,所有操作O(1)时间复杂度
- 算法:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。
四面(8.3)
聊人生,谈理想……
总结
字节的算法题问的是真的多,虽然看完左神的算法后感觉这些题并不是很难,建议想进字节的朋友多看看左神的算法书,写的非常棒!
《程序员代码面试指南 IT名企算法与数据结构题目最优解》
目录(算法有分 将、校、尉、士四个等级来表示难易程度)
第1章栈和队列
设计一个有getMin功能的栈(士★)
由两个栈组成的队列(尉★★)
如何仅用递归函数和栈操作逆序一个栈(尉★★)
猫狗队列(士★)
用一个栈实现另一个栈的排序(士★)
用栈来求解汉诺塔问题(校★★★)
生成窗口最大值数组(尉★★)
构造数组的MaxTree (校★★★)
求最大子矩阵的大小(校★★★)
最大值减去最小值小于或等于num的子数组数量(校★★★)
感兴趣的朋友可以帮忙转发文章后,关注私信回复【学习】来免费领取
第1章栈和队列
设计一个有getMin功能的栈(士★)
面试字节前看过的文档、视频、面试资料
书籍文档(左神算法书、NIO、Redis、MySQL等)
面试资料(面经、大厂面试题整理)
视频(左神算法视频、马士兵多线程、JVM)
这些资料对我的帮助很大,也一同分享给大家,需要的朋友加下方VX即可免费领取!
最后
字节跳动面试过程中算法问到的很多,面试过字节的朋友应该清楚,很多时候觉得面试成败的不是项目,而是算法!所以,有时间还是多刷点算法题吧,近期面试发现算法越来越重要了!!!
面试造火箭,工作拧螺丝,希望能帮到你
多多转发,让更多人受益!!