月初的时候投了若干家大厂的NLP/ML算法岗位的实习生,比较快地收到了头条的面试邀约,面试表现太差了,收到拒信。写一点东西来整理一下
笔试
6月6日收到了笔试的邮件,当天就做完了,一共两道题,都很简单。
第一道是给出一个数组,数组中有正数和负数,要求重新排列这个数组,使得原始数组中的正负数交替排列,且保证各自的相对顺序不变。
第二道题也比较简单,大概描述是这样的
我手中有一堆扑克牌, 但是观众不知道它的顺序。
第一步, 我从牌顶拿出一张牌, 放到桌子上。
第二步, 我从牌顶再拿一张牌, 放在手上牌的底部。
第三步, 重复第一/二步的操作, 直到我手中所有的牌都放到了桌子上。
最后, 观众可以看到桌子上牌的顺序是:13\12\11\10\9\8\7\6\5\4\3\2\1 请问, 我刚开始拿在手里的牌的顺序是什么?
这个题我当时是用的队列模拟手中的牌,把上边的步骤倒过来做一下就可以了。
一面
笔试结束后4天收到了通过的电话,中间隔了个端午节假期。面试官是个挺年轻的小哥,全程在问算法题。
10G文件,每一行一个 uint32 数字。有一台1G内存的机器
- A. 找出最大的 k 个数
- B. 找出重复数字
已知一天内用户登录登出的日志(数据量较大),求这一天用户在线的最大峰值和持续时间段