2014年百度质量保证部的面试题

来源:互联网 发布:人生到处知何似的意思 编辑:程序博客网 时间:2024/05/21 09:46

一面主要是针对项目来的,涉及里面的一些技术,一般是你用到啥(在面试里你说到啥),他就问啥。

但是某些方面的问题是不可避免的(一二面中均出现的)。

1.c++方向

1.1.虚函数

为什么要引入虚函数(虚函数的作用):实现多态注:指向基类的指针在操作它的多态对象时,会依据对象的不同,调用相应的函数

防止多重继承 纯虚函数(怎么声明:=0)

1.2.struct和class的区别

1)字面上的区别(从定义角度) 2)成员权限上的区别3)默认继承方式 4)class可用来定义模板参数注意:c++中的struct中可以写方法,也可以继承

2.网络方向

2.1. tcp/udp

建立连接时三次握手:

断开连接时四次握手:(注意二三次都是sever端发送的:第一次ACK是确认收到,第二次FIN表示可以关闭了,中间的那段时间可能server端还有未传完的数据)


另外:tcp 与 udp 的区别

 tcpudp是否连接面向连接面向非连接是否可靠可靠的不可靠的场合传输大量数据少量数据速度慢快

我还被问到:怎么用udp实现tcp 封装一下udp?或者从区别上考虑?

2.2.cookie和session

二者实现方式 应用情形

3.进程线程

3.1.基本概念

关于这个,面试观一般会问你了解线程及进程的哪些内容,让你自己讲讲

3.2多线程同步方式及其区别

1)事件:用来通知线程有一些时间已经发生,从而启动后继任务
2)临界区:最直接的方式,一次只能一个执行
3)互斥器:非常类似于2)。但:1.互斥可用于跨进程的线程同步;2互斥可被赋予一个字符串名字,并通过引用此名字创建现有互斥对象的附加句柄
4)信号量:建立在互斥之上,增加资源计数功能,预订数目的线程允许同时进入同步代码

3.3.Linux下进程间通信方式及其优缺点

1)管道及有名管道
管道科用于具有亲缘关系进程之间的通信
有名管道克服了管道没有名字的限制,还允许无亲缘关系进程通信
2)信号
信号是比较复杂通信方式,用通知接收进程有某种事件发生,除了用于进程间通信外进程还可以送信号给进程本身;
Linux除了支持Unix早期信号诧义凼数sigal外,还支持语义符合Posix.1标准信号函数signal函数
(实际上,该凼数是基二BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction数重新实现了signal数)

3)报文队列(消息队列)

消息队列 是消息的链接表,包括:Posix消息队列、systemV消息队列。

有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息

消息克服了信号承载信息量少,管道只能承载无格式字节流及缓冲区大小受限等缺点

4)共享内存

使得多个进程可以访问同一块内存空间,是最快的可用ipc形式。

是针对其他通信机制运行效率低而设计的。

往往与其他通信机制,如信号量结合使用,来达到进程间的同步和互斥

5)信号量

主要是作为进程间以及同一进程不同线程之间的同步手段

6)套接口

更为一般的进程间通信机制,可用于不同机器之间的进程间通信。

4.算法及设计

这是整个面试中比较难的一块,排在第一位的肯定是排序算法了
例如:1)列举说明常用算法,说明其时间复杂度、排序思想及优缺点 2)稳定排序和非稳定排序
3)快排的最坏情况,何种措施拯救4)快排不适合哪种情况(基本有序),怎么判断序列基本有序?
链表问题:
1)怎么判断链表中是否有环2)两个单项链表求交点
。。。。

5.测试问题

5.1.我的笔记

由于上过SQA这门课,我的总体笔记如下

###############################################################

Quality:meeting requirements&& fit for use            Prevention & detection            Verification 验证 & validation 确认

SQA:1.testing :verify too late only good to test cases  2.software configuration management :discipline,softwaredevelopment,document control,problem tracking,changecontrol,maintenance     3.quality control :monitor,observe/requirement  Reviews inspections of code/document  checks for user deliverable

Non-execution-basedtesing:walkthrough、inspection、peer review

基于运行的缺点:太迟,只对用例有效,有些没法测:文档配置,规格说明等

Black-Box Testing

0 0
原创粉丝点击