百度测试开发面试题准备

https://blog.csdn.net/zzhfighting/article/details/47401459?utm_source=blogxgwz9

1.几种常见算法看下,能够大概描述出来算法的过程,复杂度(排序、查找等)

2.给你设定几种场景,让你解答:比如给你两部手机,让你站在一百层楼高的地方,假设在第n层手机摔下就会摔破,问你怎样用着两部手机确定这个临界层。

第一部手机:决定在0-100层之间需要划分几个区间

第二部手机:确定区间里的层级

假设第一部手机划分的区间是a个,每个区间包含的层数是b,a*b=100

所谓的最优化,既是让测试的次数尽量最小,即让a+b+1次数尽量最小,也就是让a+b最小。

a*b=100,问当a+b取最小值时,a=?,b=?  当a=b=10时,a+b取最小值

具体做法:

将一部手机从10楼扔下,如果坏,则拿第二部手机从一楼开始,逐层往上试,则实验的最大次数是10+1=11次(+1是因为第一部手机还需要扔一次)

如果没坏,则将第一部手机从20楼扔下,如果坏了,则第一部手机从11层开始,逐层向上试,实验的最大次数是10+2=12次(+2是因为第一部手机从10楼扔没有坏,从20楼扔坏)

以此类推,当第一部手机从第90层扔下时,如果坏,则从81曾逐层往上,如不坏,也不用从第一百层扔了,从91层开始吧。

3.怎样知道一个链表里是否有环的存在,以及确定环的位置  如何确定两个链表是否有相同的部分

猜你喜欢

转载自blog.csdn.net/nature_ph/article/details/86762356