


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 解释一下 JAVA的面向对象和 C 的面向过程的区别面向过程的语言管理起来比较麻烦, 一条代码地执行, 而面向对象代码可以 进行重用2. 什么是树 ,什么是二叉树,什么是平衡树3. K 层楼,两个玻璃板,最少多少次能测出在哪儿层楼杯子会碎既然第一步(确定临界段)的投掷数增加不可避免,我们就让第二步(确定 临界层)的投掷数随着第一步的次数增加而减少。 第一步的投掷数是一次一次增 加的,那就让第二步的投掷数一次一次减少。假设第一次投掷的层数是 f ,转化 成数学模型,就是要求 f+(f-1)+.+2+1>=99 ,即 f(f+1)/2>=99( 第一次测试点 选择 100 层是无
2、意义的,必然会碎,所以无任何测试价值,所以第一次测试点 k 是 1-99 中的一个数 ) ,解出结果等于 14。丢下第一个玻璃板的楼层就分别是 14 , 27 , 39 , 50 , 60 , 69 , 77 ,84 , 90 , 95 , 99 。4. 两个人交流一次能得到相互的信息,三个人呢? N个人呢?5. 你为什么选择做测试而不是研发呢?答:测试和研发是相通的6. 讲做过的最深刻的一个项目7. 线程与进程有什么区别子进程和父进程有不同的代码和数据空间 ,而多个线程则共享数据空间 , 每 个线程有自己的执行堆栈和程序计数器为其执行上下文 . 多线程主要是为了节约 CPU时间, 发挥利用
3、, 根据具体情况而定 . 线程的运行中需要使用计算机的内存 资源和 CPU。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有 的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位, 而把线程作为独立运行和独立调度的基本单位。8. 进程间通信有什么方法shared memory,message passing 。管道( Pipe )及有名管道( named pipe ):管道可用于具有亲缘关系进程间的通信,有名管 道克服了管道没有名字的限制, 因此, 除具有管道所具有的功能外, 它还允许无亲缘关系进程间 的通信;信号( Signal ):信号是比较复杂的通信方式,用于通
4、知接受进程有某种事件发生,除了用 于进程间通信外, 进程还可以发送信号给进程本身; Linux 除了支持 Unix 早期信号语义函数 sigal 外,还支持语义符合 Posix.1 标准的信号函数 sigaction (实际上,该函数是基于 BSD 的, BSD 为了实现可靠信号机制,又能够统一对外接口,用 sigaction 函数重新实现了 signal 函数);报文( Message)队列(消息队列) :消息队列是消息的链接表, 包括 Posix 消息队列 systemV 消息队列。 有足够权限的进程可以向队列中添加消息, 被赋予读权限的进程则可以读走队列中的 消息。 消息队列克服了信号承
5、载信息量少, 管道只能承载无格式字节流以及缓冲区大小受限等缺 点。共享内存: 使得多个进程可以访问同一块内存空间, 是最快的可用 IPC 形式。 是针对其他通 信机制运行效率较低而设计的。 往往与其它通信机制, 如信号量结合使用, 来达到进程间的同步 及互斥。信号量( semaphore ):主要作为进程间以及同一进程不同线程之间的同步手段。套接口( Socket ):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初 是由 Unix 系统的 BSD分支开发出来的,但现在一般可以移植到其它类Unix 系统上: Linux 和System V 的变种都支持套接字。9. 同步有那些方法
6、Java synchronize wait notify事件 临界区域 互斥器 信号量 锁10. rpc 是通过什么实现的?通过 socket 实现的11. 一个表,主键是 id ,还有有名字,个人简介等。找出出现次数在 a,b 的名 字。12. 找出平衡点public class Test public int findBalanceableNod( int a) if (a = null ) return - 1 ;long sum = 0l ;long subSum = 0l ;for ( int i = 0 ; i < a.length; i + ) sum += ai;for
7、( int i = 0 ; i < a.length; i + ) if (subSum = sum - subSum - ai) return i; else subSum += ai;return - 1 ;13. 给一个三层楼房,有两部电梯,问要测试些什么。14. 有一个数据库,随着数据的增加响应越来越慢,问怎样改进。我首先反应过来的是多用几台机器, 每台机器负责一部分, 然后汇总返回给 用户。他点点头,说思路是对的,马上追问如果只有一台机器怎么办?他说,同 样的思路,能不能分块考虑呢?我说按照区段划分吧,例如 1-10000 一段, 10001-20000 一段。他说那随着记录的
8、增加,有什么方法保证能平均地分到每块 呢?我想了想,还是请他给提示。他说,例如 1001分到第一块, 1002分到第二 块 1005分倒第一块,1006 分到第二块我反应过来了, 说按照关键字求余 。他 终于点头了。15. 有若干个文件,每个文件里有很多单词,用空格隔开。现在给出一个单词, 要求返回单词出现在哪些文件中。我想了一下,说建一个从关键字到出现的文件记录的索引,用 hash 或者 B+ 树。16. 他又问能不能把具体的数据结构写一下?17. 然后问了是否用过百度 mp3搜索。问按照什么方式对 mp3结果排序。我说按照链接数多的, 页面访问量大的, 链接目标的大小, 还有优先考虑正规网
9、 站的链接,还有关键字模糊匹配等。最后他补充了一个速度因素。18. 用 c 完成一个函数 char* function (char * s ,int n ),返回 s 的前 n 个 字符,要求尽量考虑健壮性。19. 假设有 N 个(大约几百万个文件),每个文件存储的都是英文单词,文件大 小都是 1MB左右。输入一个单词,输出包含这个单词的文件名(按文件大小 排序)。要求尽量优化算法。一开始,理解成文件里面存的是不定长的连续字符串了, 光给了个分块扫描, 还想着用 KMP,被否决;磨了一段时间,后来发现文件的单词是用空格隔开的。 再提示下,给出了个多叉树结构(类似于字典树?),每个节点存储包含这
10、个单 词的文件名链表。后来想到二叉排序树 ,提到了,好像这个就是面试官要的答案, 不过我又提 出用排序树查询方便, 但是输出排序的结果 (深度或广度遍历) 没有直接链表遍 历方便。20. 问了个 socket 编程,如何设计服务器端回答多线程, 每一个请求开一个线程。 又问假设大量用户请求来到的话如何 优化(提示线程的创建与销毁比较耗资源)。想到数据库连接池的原理,套用在 这里(其实不知道 socket 能不能这样用),貌似面试官还比较满意。21. 一个数据库,为了保证响应速率,会在数据库和客户端之间建立一个缓存, 缓存里存储数据库常用的结果 (容量为 10000条item 或 1GB)。客户
11、端先查 询缓存,若没有结果再查询数据库,当查到结果之后再把这条结果添加到缓 存中。对缓存的操作包括添加、删除、搜索 item 。 要求尽量全面的测试这 个架构。22. 其他还问了对测试流程的理解,问了下实习情况。面试结束的时候还追加了 UNIX下I/O 模式?和如何在 linux 下查看程序资源消耗情况(这两个都不会)23. 对于测试研发工程师的职位理解;24. 自己对于这个职位有什么优势;25. 用过什么测试方法?答: JUnit26. JUnit 测试的流程方法?测自己的代码还是别人的代码?觉得好用么?27. Java 中 String 和 StringBuffer 的区别28. 如果百度
12、生产抽纸巾的盒子,如何检测纸盒的质量?写一个测试用例(这个 题可以从比如果测试,比如测试百度知道,有哪些东西要考虑?(答服务器响应时间,并发程度,肯定还有其他,不过我不会了。)29. 如何编程模拟多用户并发请求页面,从而测出页面的性能?(答线程,又问 如何实现请求?答 http request ,不知道对不对。)30. HTTP协议的特点?31. 如果进了百度,你觉得你每天都要做些什么样的工作呢32. 如何测试百度搜索引擎33. 算法:2n 个数,一半奇数,一半偶数,设计一个程序让奇数位上的数是奇数, 偶数位上的是偶数,并计算程序的空间复杂度和时间复杂度建立一个 2n 大小数组 ,设置一个奇数
13、计数器初值 1,一个偶数计数器初值 0,循环 一下所有数,如果奇数 ,与a奇数计数器位置 元素互换,奇数计数器 +2,如果 是偶数,与a偶数计数器位置 元素换位置,偶数计数器+2,直到 2n个数遍历完 毕。空间复杂度 1(设置一个临时变量用于元素交换)时间复杂度 o(n)简单写下程序没调试你再改改阿#defined N 10main()int ai=1;/ 奇数计数器int bi=0;/ 偶数计数器int temp=0;a2N="1,5,6.2n"for(int i=0; i<2n;i+)if(ai%2=1) temp=ai; ai=aai; aai=temp; ai
14、=ai+2;else temp=ai; ai=abi; abi=temp; bi=bi+2;/ 本题假设 a0 为0位偶数位,a1 为 1位奇数位(不影响思想的说明)34. 开放性问题:怎么样统计世界上一共有多少个理发师可以去工商局,可以去统计理发用的工具销量35. 现在有一台打印机或者多台打印机,你要怎么样进行测试,要测哪些点。36. 索引的几种方法, 比较各类排序的算法复杂度, 说说栈内存和堆内存的分配, 介绍一下 socket 编程37. C/S结构, Server 端测试性能时需要注重哪些方面。38. 问是否了解 Socket 编程。 socket 编程中,如果请求非常多,服务器承受能
15、 力有限,怎么解决。39. 一个单链表,长度未知,如何快速的找出位于中间的那个元素。建立两个指针, 一个一次走一步, 一个一次走两步, 当走两步的指针走到末尾的 时候。那么走一步的指针刚好到达中间的位置。40. 两个人,在一个桌子上轮流摆硬币,每次每人摆一个,硬币不能重叠。直到 桌子上再摆不下更多的硬币了,那么最后摆的那个人获胜。问取胜方案。你要争取先放,并把第 1枚硬币放在桌面的对称中心上, 以后你应该根据对方所 放硬币的位置, 在它关于中心对称的位置上放下一枚同样大小硬币 这样,由于 对称性,只要对方能放得下一枚硬币, 你就保证能在其对称位置上放下一枚同样 大小的硬币,因此,失败绝对轮不到
16、你41. 字符串的函数,树的遍历,还有数据结构的抽象概念42. 洗牌算法43. 算法设计: n 个连续自然数,乱序存放于一个数组中,缺失一个,缺失的位 置处放置 -1 ,问怎么确定丢失的那个数?对数组进行求和,然后对 N 个连续自然数求和。后者的和 -1 减去前者的和得出 的就是丢失的那个数。44. 重载和覆盖的区别, linux 基本命令45. 操作系统的哲学家就餐问题46. 谈谈测试与开发的关系,对测试的理解,给出实例,自动贩卖机,冰箱,百 度的搜索页等,从外观(视觉效果)、正确性、压力、性能等方面。47. IP 段去重48. 判断两颗二叉树是否等价49. 比如给你 ABC三个模块,现在想
17、测 B模块,比如要实现的功能是收到 A 来的 报文,如果没有 page字段,则自动添加并让其等于 1,如果有 page 字段, 则无条件转发,怎么写测试用例50. 为什么选择做测试,这个好像和你的专业(通信工程)基本上背离啊,还有 你的未来是怎么规划的之类的,一一对答!51. 如果让你现在对一部电梯写测试用例,你怎么写?需求测试: 查看电梯使用说明书、安全说明书等界面测试:查看电梯外观功能测试:1. 测试电梯能否实现正常的上升和下降功能。2. 电梯的按钮是否都可以使用。3. 电梯门的打开,关闭是否正常。4. 报警装置是否可用。5. 与其他电梯之间是否协作良好。6. 通风状况如何。7. 突然停电
18、时的情况。8. 上升途中的响应。1)电梯本来在 1楼,如果有人按 18 楼,那么电梯在上升到 5楼的时候,有人按了 10楼,这时 候是否会在 10 楼先停下来;2)电梯下降到 10 层时显示满员,此时若 8 层有人等待电梯,是否在 8 层停。 可靠性:1. 门关上的一刹那出现障碍物。2. 同时按关门和开门按钮。3. 点击当前楼层号码。4. 多次点击同一楼层的号码等等。5. 同时按上键和下键会怎样。易用性:1. 电梯的按钮的设计符合一般人使用的习惯吗负载/ 压力测试:1. 看电梯的最大限度的承受重量在负载过重时是否有提醒。2. 在一时间内不断的让电梯上升,下降。 稳定性测试:1. 最大负载下平稳运行的最长时间。 文档测试:1. 使用手册是否对电梯的用法、限制、使用条件等有详细描述52. 你觉得做测试工程师所具备的最基本的素质是什么?出色的沟通能力 = 20%良好的学习能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识融合策略-第3篇-洞察与解读
- 2025年专业技术人员继续教育公需课考试附答案
- 01 03 第一章 脑病科中医护理常规13-18
- 猪精深加工项目节能评估报告
- 园林景观软景施工技术方案
- 独立压储空气储能项目施工方案
- DB54T 0062-2012 西藏绒山羊养殖技术规范
- 2025年血液净化专科护士培训考试题及答案
- 2025年国企招聘考试真题及答案
- 2025年度平凉市专业技术人员继续教育公需科目考试题库(附答案)
- 树叶之美树叶知识科普
- 劳务合同通用模板电子下载
- 平顶山桥梁亮化施工方案
- 小学四年级秋季学期《数学》(人教版)课后练习(全册汇总)含答案
- 万家寨水利枢纽
- 肌肉牵伸技术概述
- 去极端化教育课件
- 研学安全主题班会课件
- 组织行为学 马工程课件5 第五章 领导
- GB/T 32800.3-2016手持式非电类动力工具安全要求第3部分:钻和攻丝机
- GB/T 17421.4-2016机床检验通则第4部分:数控机床的圆检验
评论
0/150
提交评论