8月10日字节一面体验(已挂)
写在前面:感谢我的舍友送给我的这次体验机会(舍友考研,免笔试内推的机会送给了我)
(共47分钟)
自我介绍TCP拥塞控制的方法,发送失败/接收失败怎么处理的
Linux为什么需要虚拟内存(涉及知识盲区😱)
MySQL的InnoDB存储引擎的索引结构
口述思路题:
1、建索引的题目:
订单表有几个属性:订单id,用户user_id、下单日期date(精确到天)等,请问索引怎样建立
a. 查询某个用户的所有订单
b. 查询某一天的所有订单
c. 查询某一天某个用户的所有订单
综合考虑三个场景,建立尽量少的索引。
(答了在用户id上建主键,下单日期上建普通索引)
2、10G文件,每一行一个 uint32 数字。有一台1G内存的机器
(1)A. 找出最大的 k 个数(这里答了建一个k个元素的小顶堆,被追问时间复杂度)
(2)B. 找出所有重复数字(【问面试官条件:有限制重复数字的重复次数么?重复的数字会超过这里的1G内存么?】然后答了用set......面试官问有没有了解过布隆过滤器、在这里合不合适,为什么布隆过滤器会有误差)
算法编程题:
(共34分钟,答了用递归的思路,写了回溯,没写出来......太菜了😥)
给定一个无重复元素的数组 candidates(都是正数) 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的数字可以无限制重复被选取。
例1:输入:candidates = [2,3,6,7], target = 7,
所求解集为:
[
[7],
[2,2,3]
]
例 2:
输入:candidates = [2,3,5], target = 8,
所求解集为:
[
[2,2,2,2],
[2,3,3],
[3,5]
]
面试过程体验很好,面试表现及其拉跨🤣
(记录一下自己在面试中留下的脚印)
#Java开发##面经##字节跳动##Java工程师##校招#