凭一本《算法宝典》,我让字节面试官直接给下口头offer(Java后台开发岗)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了凭一本《算法宝典》,我让字节面试官直接给下口头offer(Java后台开发岗),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4666字,纯文字阅读大概需要7分钟。
内容图文
![凭一本《算法宝典》,我让字节面试官直接给下口头offer(Java后台开发岗)](/upload/InfoBanner/zyjiaocheng/613/4553f0fe41db454f94b3feca8677d117.jpg)
说到字节跳动,相信大家也都不陌生,作为近年来发展速度最快的互联网公司,很多年轻人都想要加入这座梦想工场,而字节跳动的面试却并没有那么容易,相信很多人都知道字节的面试是算法出名,很多人都被算法题难倒在门外,而我这次面试字节却直接拿到了口头offer,也多亏了一本《算法宝典》,大概刷了1个月的算法题,面试时的问题基本都回答得非常溜,所以特将这本《算法宝典》分享给大家,希望能够给大家带来一些帮助。(赠送算法宝典PDF、面试真题及答案)
文末含字节跳动面试真题及答案,需要这份算法宝典资料点击(算法宝典)领取
宝典目录:
第一章 编程技巧
第二章 线性表
第三章 字符串
第四章 栈和队列
第五章 树
第六章 排序
第七章 查找
第八章 暴力枚举法
第九章 广度优先搜索
第十章 深度优先搜索
第十一章 分治法
第十二章 贪心法
第十三章 动态规划
第十四章 图
第十五章 细节实现题
字节跳动互动百科团队面经(3轮技术面+总监面+HR面)
互动百科是字节的搜索引擎项目团队,竞争对手是百度百科,目前字节正在全力打造互动百科,希望能够成为国内的搜索引擎第一,还是有很大的前途的。
字节跳动互动百科第一面(一面面试官非常年轻,感觉30岁不到,但给人的感觉是比较严肃的,所以还是有些小紧张,好在问的比较基础)
- 自我介绍一下吧
- 说一下Innodb的索引实现
- 为什么是B+树
- redis的使用,分布式锁的实现
- 说一下操作系统虚拟内存换页的过程
- TCP三次握手
- ReentrantLock和synchronized锁的区别
- 计算机网络TCP的三次握手,UDP和TCP的区别。
- 两个1G排好序的文件,按序合并。
- 二叉树层序遍历输出,每一层输出数组(手写算法)。
- Linux进程与线程的区别,讲一下
- 进程间是怎么通信的?Linux查询进程命令,怎么查询进程状态?
- 一个数组获取最大的k个数,大顶堆,排序。
- 说一下MySQL的行锁的实现原理
- Redis发生主备切换会出现什么问题?
- kafka的优势和发送过程?
- 虚拟内存换页的算法有哪些?
- 换页算法里面,FIFO有什么缺点?怎么改进?
- 算法题:滑动窗口
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。
返回滑动窗口最大值。
示例:
输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3
输出: [3,3,5,5,6,7]
解释:
滑动窗口的位置 最大值
--------------- -----
[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7
字节跳动互动百科第二面(这次的面试官稍微年纪长一点,说话也很有气场)
- 算法在线编程:leetcode213
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
示例 1:
输入: [2,3,2]
输出: 3
解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。
示例 2:
输入: [1,2,3,1]
输出: 4
解释: 你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。
偷窃到的最高金额 = 1 + 3 = 4 。
- 然后开始问项目,项目做了哪些,碰到过什么难题,最后怎么解决的?有什么思考吗?
- Java多线程,线程池的选型
- 说一下发生死锁的条件,如何预防死锁?
- JVM内存区域划分
- 垃圾回收算法
- CMS垃圾收集器
- A、B都是异常类,B是A的子类,问下面代码的输出
try {
try {
throw new B();
}catch (A a){
System.out.println("catch A");
throw a;
}
}catch (B b){
System.out.println("catch B");
}finally {
System.out.println("Finish");
}
- 讲一下数据库事务特性,如何保证这些事务特性?
- MySql如何避免不可重复读?
字节跳动互动百科第三面(没有问特别多的问题,但耗时是比较久的,心里压力还蛮大的)
- 自我介绍
- 项目介绍(聊了一个项目,针对项目的细节提了不少问题,不太记得了)
- 4G内存,40亿整数,全排序该怎么做
- 算法题:
1.设计一个MaxStack,在stack基础上增加getMax函数,能够以O1时间复杂度找到栈中现存最大元素,能否减少空间使用?
2.二叉树的序列化和反序列化
- 概率题:
N个能随机等概率生成1-N的数字的骰子,对其做distinct之后的剩下元素个数的数学期望
比方说三个骰子,如果投出 1 1 1,那么distinct之后只剩下1个元素
字节跳动互动百科总监面(目测35岁左右吧,发际线高得不行,这么说虽然有些不礼貌,但一看就是稳妥妥的大牛!)
- 自我介绍
- 你这个项目有几个表
- 这个数据表的这个字段有几种状态
- 进程与线程?
- 线程安全?
- 编程题是连续子数组的最大和
- 写单例模式?
- 什么时候能用的单例模式?我说的是我项目中的一个例子
- 什么是工厂模式?你的项目里有用到吗?
- redis里几个常用命令?
- Linux常用命令
- 算法:如何判断链表是否有环?
字节跳动HR面(是个很温油的小姐姐,心动了)
- 自我介绍
- 意向地址选择,北京or上海?
- 为什么选择上海?
- 老家是哪里的,父母怎么看待你一个人在外?
- 介绍公司福利
- 薪资待遇
- 你怎么看待字节跳动近两年的发展?
- 你怎么看待互动百科?
- 听前面几轮面试管都说你答得不错,应该是通过了,你怎么看待前面几轮面试?说真实感受
- 你有什么想问的吗?
- 回去等邮件吧
总结
总的来说,字节跳动确实是问算法问得最多的互联网公司,算法题没别的办法,就是自己要学会刷题。这些大厂面试一定不能够裸面,面试前要做好充足的准备,要稳扎稳打,才能够顺利拿到offer。
因文章篇幅原理,这次字节跳动的面试真题答案全整理成了文档的形式,需要面试真题资料(含答案)或《算法宝典》的朋友,点击(Java学习、面试;文档、视频资源免费获取)领取
更多资料展示:
内容总结
以上是互联网集市为您收集整理的凭一本《算法宝典》,我让字节面试官直接给下口头offer(Java后台开发岗)全部内容,希望文章能够帮你解决凭一本《算法宝典》,我让字节面试官直接给下口头offer(Java后台开发岗)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。