阿里巴巴面试下载测试岗位剖析.docx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
阿里巴巴面试下载测试岗位剖析

首先让自我介绍 其次。。。。 在购物的时候把一个商品加入到购物车这个功能应该怎么测试 首先未登录添加一个商品看是否符合预期效果 然后登录状态添加一个商品看看是否符合预期 然后看看最多能提交多少个商品,是不是符合预期设计 还可以测试代码的接口 (就是提交功能有相应的实现代码入口,有时可以直接修改提交参数) 还可以直接用修改url的方式提交看是否可以(就是网址后面的参数修改后购买不同的商品) 如果一个瓶子从一级摔下来没有碎,从第二级摔下来也没有碎,从第三极摔下来碎掉了,那么这个瓶子的强度是2。级数代表高度。如果强度可能有m级,给你两个一样的瓶子要怎么最快地测出它的强度。 题目同于:一幢 200 层的大楼,给你两个鸡蛋. 如果在第 n 层扔下鸡蛋,鸡蛋不碎,那么从前 n-1 层扔鸡蛋都不碎. 这两只鸡蛋一模一样,不碎的话可以扔无数次. 已知鸡蛋在0层扔不会碎. 提出一个策略, 要保证能测出鸡蛋恰好会碎的楼层, 并使此策略在最坏情况下所扔次数最少. 解法:/question搞清楚这题的意思:? 第一个鸡蛋用来试探, 只要它从 k 层楼扔下去没碎, 则目标就在[k+1, 200]之间了. 但一旦运气不好碎了, 对于已知的区间, 我们只能用剩下一个鸡蛋从小到大一层层试,? 因为我们要保证策略必须成功, 不能冒险了. 最坏情况下代价最小这句话十分重要, 它反映了题目的重要数学结构: 我们可以把任何一种策略都看成一个决策树,? 每一次扔瓶子都会有两个子节点, 对应碎与不碎的情况下下一步应该扔的楼层. 那么, 策略的一次执行, 是树中的一条从根往下走的路,? 当且仅当这条路上出现过形如 k 没碎 与 k+1 碎了的一对节点时, 路停止, 当前节点不再扩展. 那么要找的是这么一棵树, 使得所有路里最长者尽量短, 也即, 要找一个最矮的决策树. 再看一个节点处, 选择楼层时会发生什么.? 容易看出, 选择的楼层如果变高, 那么碎子树高度不减, 不碎子树高度不增.? 同样的, 选择的楼层变矮的话, 碎子树高度不增, 不碎子树高度不减. 这时候答案很明显了: 为了使两子树中高度最大???尽量小, 我们的选择应当使两子树高度尽量接近. 最终希望的结果是, 整个二叉树尽量像一个满二叉树. 假设第一次在根节点上, 我们选择扔k层, 其碎子树的高度显然是k - 1.? 为了考虑不碎子树的高度, 设不碎后第二次扔m层(显然m k ),? 则这个新节点的碎子树高度为 m - k - 1, 不碎子树高度仍然未知,? 但按照满二叉树的目标, 我们认为它与碎子树相同或少1就好. 那么在根节点上的不碎子树的高度就是m -k-1 + 1, 令它与碎子树高度相同, 于是: m - k - 1 + 1 = k - 1 = m = k + k - 1? 也即, 如果第一次扔在k层, 第二次应该高k-1 层, 这可以有直观一点的理解: 每扔一次, 就要更保守一些, 所以让区间长度少1. [1, k) - [k + 1, 2k - 1). 用类似刚才的分析, 可以继续得到, 下一次应该增高k - 2, 再下一次应该增高k - 3. 如果大楼100层, 考虑: 所以第一次扔14层, 最坏需要14次(策略不唯一, 树的叶子可以交换位置).200层的话, 类似得到k =20. 以上是数学做法...当然还有代码做法.... 设f(n, m)为n层楼, m个蛋所需次数, 那么它成了一道DP题.. 以下代码python3 only: import functools @functools.lru_cache(maxsize=None) def f(n, m): if n == 0: return 0 if m == 1: return n ans = min([max([f(i - 1, m - 1), f(n - i, m)]) for i in range(1, n + 1)]) + 1 return ans print(f(100, 2)) # 14 print(f(200, 2)) # 20 在html和数据库的连接上问了几个问题 为什么选择测试开发工程师,和对测试开发工程师工作内容的理解。目前的研究内容、方向、算法,最后问了一些数据库方面的基础问题。C#的GC实现的内部机制的了解(对应java的垃圾回收机制) () 1.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。 在充分理解了垃圾收集算法和执行过程后,才

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档