4.8 腾讯 TEG 云架构后端实习,一面秒寄
BG:九本,科学院硕
自我介绍,介绍项目,项目是打 OS 功能赛做的,我对项目细节非常熟悉,面试官的提问都在意料之中(全都防出去了)。
然后说部门是做分布式存储的,考虑换方向吗?
然后开始坐牢
。
1. 智力题,找出超大文件中的出现次数最多的字符串,文件 10 T,单个字符串最大 2 G,给定 64 G 的内存
答:对每个字符串 hash 再计数 回:字符串种类特别多,内存放不下
答:外部排序?但是具体怎么实现忘了
后面发现是个常见的场景题,参考这两种解法:https://zhuanlan.zhihu.com/p/496869606
然后,面试官试图把我拽回第一种解法,提示通过哈希把大文件拆成小文件,还是答不出,寄了。
2. 问操作系统
平时了解 OS 看什么书?《深入理解 Linux 内核》《linux/unix系统编程手册》。
经常看源码吗?看得不是很多,就打比赛的时候针对性地看了调度相关的
最了解 OS 哪几个模块? 调度和内存。
常见的锁?只了解自旋锁、互斥锁、信号量的实现。
实现读写锁。不会,寄了
问缺页置换算法?就说了一个 CLOCK(到这里已经神志不清了,我当时觉得我答得太简单了,以为要 Linux 高版本正在使用的算法),后面问 OPT 为什么实现不了,因为要知道将来的访存信息
最后手撕,感觉是 hard
给一个整数 n (1到 10^9),给定两种操作:1)乘以任意一个整数 2)开方,结果必须是整数 ,要求通过以上两种操作得到最小的数所需要的最少操作的次数
例如:
输入: 20
输出:3 (20 X 5 再开方得到10)
然后限定只能用 C
我的思路是分解 n 为质因数之积,统计各个质因数出现的次数,取出现次数最大的质因数,把它变成偶数(最多只乘一次),然后不停地开方(如果开方是奇数,再+1变成偶数)
然后在做的时候被吐槽了:
1)我直接开了一个数组存计数(没法用标准库 hash 表计数),我也知道会爆内存,就象征性地开了个数组,打算整个写完再改改,然后在写的过程中就被吐槽了。
2)筛选质数的算法(https://oi-wiki.org/math/number-theory/sieve/)太久没用忘了,面试官说暴力筛会超时
最后时间有限没写完,说一下思路,面试官承认思路很接近了,找到出现次数最大的质数,大概求 log(n) 就行了。
其他:本科成绩,数据结构课程成绩,什么方面需要提升?打磨自己的优势,打好基础
当晚面完(1#牛客AI配图神器# 个多小时),晚上流程结束
总结:死于八股和算法,面试官看重数据结构和算法,然后过程中给他的印象是这方面还不够扎实[笑cry[牛泪]
update: 吐槽
1)说我做不出来智力题说明不了解文件系统,这玩意和文件系统有很大关吗?就套皮八股/算法
2)我说质因数计数没标准库哈希表做不了,面试官甩出用两个数组计数:
int part[]
int count[]
part[k] = i(i 是质因数)
count[k++] += 1
称不能用标准库,有点搞人
自我介绍,介绍项目,项目是打 OS 功能赛做的,我对项目细节非常熟悉,面试官的提问都在意料之中(全都防出去了)。
然后说部门是做分布式存储的,考虑换方向吗?
然后开始坐牢
1. 智力题,找出超大文件中的出现次数最多的字符串,文件 10 T,单个字符串最大 2 G,给定 64 G 的内存
答:对每个字符串 hash 再计数 回:字符串种类特别多,内存放不下
答:外部排序?但是具体怎么实现忘了
后面发现是个常见的场景题,参考这两种解法:https://zhuanlan.zhihu.com/p/496869606
然后,面试官试图把我拽回第一种解法,提示通过哈希把大文件拆成小文件,还是答不出,寄了。
2. 问操作系统
平时了解 OS 看什么书?《深入理解 Linux 内核》《linux/unix系统编程手册》。
经常看源码吗?看得不是很多,就打比赛的时候针对性地看了调度相关的
最了解 OS 哪几个模块? 调度和内存。
常见的锁?只了解自旋锁、互斥锁、信号量的实现。
实现读写锁。不会,寄了
问缺页置换算法?就说了一个 CLOCK(到这里已经神志不清了,我当时觉得我答得太简单了,以为要 Linux 高版本正在使用的算法),后面问 OPT 为什么实现不了,因为要知道将来的访存信息
最后手撕,感觉是 hard
给一个整数 n (1到 10^9),给定两种操作:1)乘以任意一个整数 2)开方,结果必须是整数 ,要求通过以上两种操作得到最小的数所需要的最少操作的次数
例如:
输入: 20
输出:3 (20 X 5 再开方得到10)
然后限定只能用 C
我的思路是分解 n 为质因数之积,统计各个质因数出现的次数,取出现次数最大的质因数,把它变成偶数(最多只乘一次),然后不停地开方(如果开方是奇数,再+1变成偶数)
然后在做的时候被吐槽了:
1)我直接开了一个数组存计数(没法用标准库 hash 表计数),我也知道会爆内存,就象征性地开了个数组,打算整个写完再改改,然后在写的过程中就被吐槽了。
2)筛选质数的算法(https://oi-wiki.org/math/number-theory/sieve/)太久没用忘了,面试官说暴力筛会超时
最后时间有限没写完,说一下思路,面试官承认思路很接近了,找到出现次数最大的质数,大概求 log(n) 就行了。
其他:本科成绩,数据结构课程成绩,什么方面需要提升?打磨自己的优势,打好基础
当晚面完(1#牛客AI配图神器# 个多小时),晚上流程结束
总结:死于八股和算法,面试官看重数据结构和算法,然后过程中给他的印象是这方面还不够扎实[笑cry[牛泪]
update: 吐槽
1)说我做不出来智力题说明不了解文件系统,这玩意和文件系统有很大关吗?就套皮八股/算法
2)我说质因数计数没标准库哈希表做不了,面试官甩出用两个数组计数:
int part[]
int count[]
part[k] = i(i 是质因数)
count[k++] += 1
称不能用标准库,有点搞人
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享