头条测试开发实习面筋--2018-12-07
一面:
1. 自我介绍2. 桌上100个球,每次可以拿一到五个, 现在我们两个人依次拿球,你先拿,使用怎样的拿球策略,可以使你最终能拿到最后一个球?
(想了半天没什么思路....其实第一次拿四个,后来每个你拿球的时候只要保证 剩下的球是6的倍数就行了 如果他拿n个球 ,你就拿6-n个球。
3.(上一道题没做出来,就换了一道)面前有一个圆桌,我们俩依次放硬币,每次只能放一块,硬币不能重叠,不能超过桌子边缘。你先放,如何保证最后一块硬币是你放下的?
(感觉比上一道还难....
4. 现在有一个文件,里面有 姓名(没有重复的) 语文 数学 英语 四个字段,字段之间分隔符可以是空格 逗号 等都行.用一行Linux命令,统计总分最高的前三名。
这题比较简单: gawk '{print("%s\t%d",${1},${2}+${3}+${4}})}' | sort -k2nr | head -3
5. 有只青蛙,站在100级的台阶上,每次可以跳1个或两个台阶,有几种跳法?
简单题,用递归就可以做,本质是一个斐波拉楔数列。
问:有没有更好的解决方案?
答:有些元素重复计算了比如 计算f(50)的时候,需要用到f(49)和f(48),其实f(48)和f(49)在计算f(50)之前已经计算出来了,可以直接用。用Map存一下就可以了。
6. 搜索引擎是怎么实现用户输***想的?
后来网络不好 断线了...尴尬....
重新连上之后....
7. 你用过什么java框架吗?
答:没用过(实话)
8. 好吧,我也没什么要问你的了,你还有没有什么要问我的?
忘了我问的啥了.....
9。其他问题(忘了)
一面结束,持续大概1h左右, 结束后以为挂了,就跑食堂吃饭去了,刚到宿舍躺下,电话来了,准备二面。
二面:
1.仍然是自我介绍
2.介绍一下你的项目吧
......此处省略大概600字
3.有一个整型数组,其中有个元素重复次数超过了数组长度的一半,写代码找出来.
简单题,第一次遍历数组,把值和其出现次数存到HashMap中,如果第一次遇到这个元素,那么value=1,否则value++;
再次扫描数组,把value值大于一般的元素输出
coding....
问:分析一下你这个算法的复杂度。
时间复杂度:O(n) 空间复杂度 O(n);
问: 有没有更好的解决方法?
(想了半天 说了一下基本思路,还是不太对...)
4. 给你一个QQ登录界面 有一个登录按钮 一个自动记住密码的复选框 账号密码输入框,你怎么设计测试用例?
此处省略3-5min
5. 我们使用了一个接口,通过日期 城市id查询天气情况,这个接口能够提供的QPS是10,而我们对外提供的QPS是1000,如何使两者匹配?
(想了一些方法,发现都不对,没答上来..)
6. 你还有什么要问我的吗?
(没有)
7. 等通知吧...
二面结束.....
#实习##字节跳动##测试工程师##面经#