美团app软件测试图,美团测试开发面经1

本文介绍了程序设计中的面向对象与面向过程的区别,强调了面向对象在维护和扩展性上的优势。同时,深入探讨了死锁的概念及产生的四个必要条件。此外,讲解了接口测试和函数测试的基本方法,并提及了测试在软件开发中的重要性。最后,涉及进程与线程、排序算法等基础知识,以及为何选择从事测试工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、项目经验和实习经历

2、面向对象和面向过程的区别

面向过程就是分析出解决问题需要的步骤,然后用函数把步骤实现,使用时依次调用;

面向对象就是把整个问题分成多个对象,然后提供对象在解决整个问题的步骤中所需要的功能;

面向过程:

不需要实例化,性能较高,但是不易维护,复用扩展;

面向对象:

需要实例化,降低代码直接的耦合,使系统更加灵活、易于维护、易于扩展。

3、死锁问题(重点)

死锁定义:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

产生死锁需要四个条件:

1)互斥条件:一个资源只能被一个进程使用;

2)请求与保持条件:一个进程因为请求资源而阻塞时,对已获取资源保持不放;

3)不可抢占条件:进程已获取的资源,不能强行剥夺,只能自己释放;

4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

4、测试相关知识,接口如何测试,函数如何测试

接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求。

5、反转单链表和双向链表,树的前序遍历,排序算法,手写冒泡

class Solution {public: /** * @param A: an integer array * @return: nothing */

void swap(int& a,int& b){ int temp; temp = a; a = b; b = temp; }

void sortIntegers(vector &A) {

// write your code here

for(int i = 1; i < A.size();i++){

for(int j = 1;j < A.size()-i+1;j++){

if(A[j-1] > A[j]){

swap(A[j],A[j-1]);

}

}

}

}

};

6、黑猫白猫问题

7、进程与线程(进击的小学生还要再过一遍)

9、为什么做测试

https://www.cnblogs.com/feng0815/p/7509541.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值