字节面经收集

面经一

简要版:
一面:4月22日下午5:00-5:40
两个有序链表合并
K个有序链表合并
两道sql题
二面:4月26日 2:00-2:50
最长连续子序列
基础问题
三面:4月28日 5:00 - 5:40
求平方根
跳台阶
单例模式
工厂模式

详细版:
字节一面 4月22日下午5:00-5:40
1 算法题 合并链表
leetcode21:https://leetcode-cn.com/problems/merge-two-sorted-lists/
先说思路,第一次面试,有点紧张,说的一塌糊涂。然后又重新说了一遍,迅速写完代码,过了。
2 算法题 合并k个链表
leetcode23:https://leetcode-cn.com/problems/merge-k-sorted-lists/
一开始先问时间复杂度,我马上回答nlogk,然后用归并的想法解释。
但是太紧张,没有解释清楚,面试官不理解我的做法。
最后急中生智想到了用堆来合并。
面试完后看leetcode, 这题我刷了3遍,每次都是用归并的做法做的。
所以面试的时候有点思维定势,想了好久才想到用堆。
3
select * from t where b=1;
Select * from t where a=1 and b=1;
问怎么建立索引
先说需要建两个索引,后来反应过来了,建一个联合索引。
4
Select * from t where c=1;
C是非主键索引,问几次磁盘io,b+索引树高度3。
这题哪位大佬能解答一下,我目前还不知道正确答案是啥。

4月26日 2:00-2:50
0 自我介绍

1 最长连续序列
leetcode128:https://leetcode-cn.com/problems/longest-consecutive-sequence/
做过了,秒了。面试官让我测试一下,还好没出问题。
2 String为什么不可变
3 聊聊http2.0
问http缓存
4 有没有遇到过死锁,咋解决的
5 项目中中文乱码问题咋解决,知不知道中文乱码的原因

6 java线程间通信

有没有用过java中的exchange

7 知不知道负载均衡

8 redis几种数据结构

Zset数据结构,怎么排序的

Redis缓存淘汰策略

9 业务场景

电脑微信扫码,然后手机点验证,电脑就进入微信。怎么实现

10 反问

4月28日 5:00 - 5:40
0 自我介绍
1 sqrt(x),保证小数点后三位精度
leetcode69变形题:https://leetcode-cn.com/problems/sqrtx/
面试的时候一直在想之前腾讯笔试的时候做的一道题,觉得尾数处理太麻烦了。我以为需要最后保留小数点后三位,想得复杂了。
简单的一道题,写的比较纠结,面试官看我如此纠结,于是就让我全程写代码了。
2 跳台阶,斐波那契数列
剑指offer:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
3 单例模式,然后面试官问指令重排。
4写个简单工厂模式吧
写了简单工厂

面试官说确实实现了功能,但是有两个问题,一个是依赖关系没有解除,一个是if else。

面经二

我实在是太菜了。。。。很喜欢字节,可是我自己却把握不住这个机会。。。。。明明面试官已经很给面子了,出的题也已经很简单了,可惜我还是没抓住。。留下了悔恨的泪水。

  1. 自我介绍+项目
  2. 问了一下专业
  3. 做题
    3.1 二叉树的最大和
    3.2 最长连续数字
    3.3 k个数的和
    3.4 hashmap
    3.5堆排序
    3.6 找零钱
    。。。。 是的 ,就是这么残忍,我都要被怼哭了

二面:

  1. 链表排序
  2. 机器学习相关知识,数据挖掘的基本流程,如何处理特征,如何处理相关性,如何分析数据重要程度
  3. 数据的混乱程度
  4. 数据平台如何搭建

三面:

  1. 全排列的拓展题,n的球的排列问题
  2. 36进制加法
  3. 使用什么语言
  4. volitle的用法
    滚去刷题了。。。。秋招再来,希望自己秋招能通过。。。在牛客发帖求一个祝福,希望字节能给我一个机会。。。

面经三

题目全部来自牛客网字节跳动面经,楼主整理了2020年的三十余篇面经,在多次问到的题目后标注了次数,限于篇幅,答案没有上传,如果牛友们需要希望点个赞呀😁😁,楼主整理后分次上传答案。
算法题:买卖股票的最佳时机(只能有一次买卖,可以最多两次买卖,不限次数)(4)
算法题(leetcode55题):给一个数组,例如[1,2,3,4,5],a[i]表示在该位置可以向前行走的最大距离,判断是否可以到达数组的最后一个元素。
场景题:让你设计一个微信发红包的api,你会怎么设计,不能有人领到的红包里面没钱,红包数值精确到分。
AB两个排序数组,原地合并数组。(A当中穿插一些无效数字怎么处理?)
剑指原题,剪绳子。
排序数组,平方后,数组当中有多少不同的数字(相同算一个)。
一个数据先递增再递减,找出数组不重复的个数,比如 [1, 3, 9, 1],结果为3,不能使用额外空间,复杂度o(n)
高考成绩2000万数据,分数0-750,如何快速知道你的排名,如何知道任一分数排名 —>桶排序 (3)
两根香,一根烧完1小时,如何测量15分钟---->开始时一根香两头点着,一根香只点一头,两头点着的香烧完说明过去了半小时,这时将只点了一头的香另一头也点着,从这时开始到烧完就是15分钟。
两个链表,可能相交,找出相交的节点,给出证明(2)
写一个函数,求平方根,函数参数为目标数字和精度,测试案例 fn(4.1,0.001) fn(501.1,0.001) fn(0.045,0.001)
场景题:需求:谁关注了我,我关注了谁,谁与我互相关注。表该如何设计,索引怎么建。查询语句怎么写
10亿个数字,取最小的100个数
1亿个正整数,范围是0-42亿。求出现次数是2的数字,空间复杂度
剑指offer 从上往下打印二叉树(层序遍历)(2)
蛇形遍历二叉树(2)
leetcode 链表求和
给定一个 0-4随机数生成器 如何生成0-6随机数
写代码: 二叉树的最近公共祖先 leetcode 236 稍有不同,原题的2个节点,面试是多个节点,算法的时间复杂度 (2)
写代码: 二叉树中的最大路径和 leetcode 124
算法:快排(3)
算法:二叉树的前序遍历非递归
算法:二叉树的后序遍历非递归(2)
求数组的最长连续递增数列,如:4, 200, 3, 1, 100, 2。结果是1 2 3 4,也就是说顺序可以打乱。(leetcode 128)
智力题,海盗分金币。
算法:接雨水(leetcode 42)
算法:有一个IP地址库,假设有几十万条ip,如何判断某个ip地址是否在这个库中?
编程题:求二叉树根节点到叶子结点的路径和的最小值(leetcode)
反转链表 ---->反转链表升级版(每k个反转一下)(4)
场景题:2g内存,要求一个10g文件的中位数
LeetCode 59题 螺旋矩阵II(同类:螺旋打印矩阵)
数据结构:(讲解你了解的数据结构)提到heap,让手写heap
算法:中文数字转阿拉伯数字,字符串处理问题
算法:中文数字转阿拉伯数字,字符串处理问题
重建二叉树(剑指offer第7题)
路径总和 leetcode 112及其延伸
(LeetCode113题)给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
单例模式,手写双重检验单例模式 懒汉式,DCL(8)
合并区间 (LeetCode56题)
翻转字符串中的单词 leetcode151原题 并且只能用O(1) extra space
和为s的连续正整数序列(剑指offer57-II)
介绍下二分查找,如果我想在链表中使用二分查找,怎么做比较好?–>跳表
介绍下归并排序,时间复杂度多少
LRU算法知道吗,怎么实现的?
数据库连接池怎么设计?
代码题,版本数字比较,比如"1.10.0"版本比"1.8.1"版本新,不允许使用split等函数
某一个大文件被拆成了N个小文件,每个小文件编号从0至N-1,相应大小分别记为S(i)。给定磁盘空间为C,试实现一个函数从N个文件中连续选出若干个文件拷贝到磁盘中,使得磁盘剩余空间最小。
场景题:redis设置高并发抢单一的东西,如何避免高并发对一个键进行访问
编程:最大栈
场景题,分布式多个机器生成id,如何保证不重复?
B+树和红黑树, 红黑树和一般的平衡二叉树,增、删、改、查的过程和效率、时间复杂度
递增数组,找出和为k的数对
二叉树各层节点数,递归、非递归,时间、空间复杂度
输出给定数字下一个比它大的数字,比如输入:1234, 输出 1243。
算法:输入List,删除当中形如”1_”的,返回原来的List (2)
一个无序数组,从小到大找到第一个缺的数,比如[8 2 4 3 6 9 7 11 12],第一个缺的就是5 (2)
场景题:一个硬币,正面概率0.7,反面概率0.3,现在有一瓶水,怎么掷能让两个人公平的喝到水(4)---->抛两次,先正后反A喝,先反后正B喝
两个栈实现一个队列
二叉树右视图(2)
概率:54张扑克牌,平均分成3份,大小王在一份的概率
有序有重复数组,给定target确定范围
3sum (2) 注意时间复杂度
扫码登录是如何实现的?
思考题:64匹马,8个跑道,选跑最快的4匹马需要比赛多少次。
概率:两个人轮流抛硬币,先抛到正面的赢,问先抛的人赢的概率(2)
三个线程循环打印ABC
数组中第K大的数(LeetCode215题)
top k,堆的各种时间复杂度
狼和羊的故事
二叉排序树找第k大的元素
链表相加,反转过来怎么加
穿墙术,三维的bfs,类似走迷宫
有一个会议室里有一个录音麦,有n个人抢着说话,麦只能录到声音最大的人,给定每个人开始的说话时间s,结束的说话时间t,说话音量vol,然后求这个麦最后录到的声音序列。 数据范围:n 2e5。 s,t,vol 1e9
场景设计:系统中有几万个任务需要在各自的特定时刻触发执行,怎么做?
三道leetcode原题:236,240,面试题48略微更改
一个很复杂的场景,大概是微博用户有个关注列表,以及知道各种大V的动态,设计数据结构啥的,到最后在用户这边显示一个更新微博列表。
场景题:游戏里,一个玩家可能吃到很多种debuff,每个debuff有一定持续时间。给你一个定时器,怎么设计数据结构,来维护玩家的debuff状态?
红黑树,B+树,跳表应用场景
代码题:leetcode 688 棋盘算概率问题
情景题,一个5T的文件,里面全是id,1-10^9 ,如何计算不同id的个数
算法题,一个有序数组,从随即一位截断,把前段放在后边,如 4 5 6 7 1 2 3求中位数
算法题,一个形如 123456789101112……的字符串,输入一个n(很大很大),输出字符串第n个字符
算法题,一辆公交车,有m站,最多坐n人,输入一路上票的信息(即上车下车站),输出会不会超载
算法题,全排列
坐标系中有一个球桌,四个角坐标:(0,0), (0,4), (2,4), (2,0),一颗球在(1,1),请问从哪些角度可以射入洞内(可无限次碰撞)?
求完全二叉树的节点个数,小于O(n),并分析复杂度
链表实现一个栈
(1) Leetcode 134 (2)Leetcode 860。
算法:手写jdk中的优先级队列 PriorityQueue(最小堆)
剑指offer62:圆圈剩下的数字(约瑟夫环问题)
给出一个数组nums,一个值k,找出数组中的两个下标 i,j 使得 nums[i] + nums[j] = k.
说说你知道的设计模式,说说项目里用到的设计模式,说说策略模式,设计一个下棋的场景问如何结合设计模式使用,设计模式什么时候继承,什么时候委托?
以下代码题输出什么?(巨坑,输出100,从泛型+向上转型+map+equals原理上想)
1
2
3
4
5
6
Map<Short, String> map = new HashMap<>();
for(short i = 0; i <100; i++) {
map.put(i, String.valueOf(i));
map.remove(i-1);
}
System.out.println(map.size());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值