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