软件测试面试技术题

一.算法

1.请写出冒泡排序。

class Solution(object):
	def bubbleSort(lyst):
		n = len(lyst)
		while n > 1:
			i = 1:
			while i < n:
				if lyst[i] < i[i -1]:
					lyst[i], lyst[i -1] = lyst[i -1], lyst[i]
				i += 1
			n -= 1
		return lyst

2.1~9999数列中数字3出现的次数。用递推方法解出。

3.从一个数组中找出前4个最大的数,用最优解。

# 一行代码
quick_sort = lambda array:array if len(array) <= 1 else quick_sort([item for item in array[1:] if item < array[0]])
+ [array[0]] + quick_sort([item for item in array[1:] if item > array[0]])
# 快速排序
def subsort(array, low, high):
	p = array[low]
	while low < high:
		while low < high and array[high] > p:
			hign -= 1
		array[low] = array[high]
		while low < high and array[low] < p:
			low += 1
		array[high] = array[low]
	array[low] = p
	return low

def quicksort(array, low, high):
	if low < high:
		p = subsort(array, low, high)
		quicksort(array, low, p - 1)
		quicksort(array, p + 1, high)

4.写一段程序,删除字符串a中包含的字符串b,举例 输入a = “asdw”,b = “sd” 返回 字符串 “aw”,并且测试这个程序。

5.写一个方法,把字符串转为数字,比如 str=“1234”,变成 int 1234。并且测试这个程序。

二.编程

python or java

1.什么是面向对象编程?
封装,继承,多态
2.讲下Java多线程的使用。

3.有三个线程T1,T2,T3,怎么确保它们按顺序执行?

4.Thread 类中的start() 和 run() 方法有什么区别?

5.请写一个线程安全的单例模型。

三.sql

1.说下左连接和右连接。

2.介绍下什么是索引。

3.使用sql生产10万条数据。

4.给你一张表,根据要求写sql,这个题目比较多,自己百度吧。

四.linux

1.你常用的命令是什么?
cd , mkdir, history, top
2.用什么查看log?
tail , head
cat , tac
3.如何查找一个文件大小超过5M的文件

查找大于2K的文件,+ 表示大于
find . -type f -size +2k

查找小于2K的文件,- 表示小于
find . -type f -size -2k

4.如何查看进程?

ps,top

你可能感兴趣的:(软件测试)