【面试经历】美团2020秋招测试开发一面二面
原创
©著作权归作者所有:来自51CTO博客作者Bug挖掘机的原创作品,请联系作者获取转载授权,否则将追究法律责任
一面
- 自我介绍
- http 的请求头 请求行 请求体,content type里有什么东西(json和表单形式)
- 写出你的知道linux命令
- linux 输出重定向 >> echo 里面的字符串会执行吗,不会执行,直接写入文件,但是
echo $变量名 >>文件名 ,会把变量的值写入文件
$date="星期天";
echo "今天是$date"; //输出 今天是星期天
echo ‘今天是$date'; //输出 今天是$date
echo $date 会直接打印出变量值
对于php和linux,echo后要使用双引号""才行,直接调用变量名。单引号‘’不会解析变量
- linux查看进程的占用情况
ps -ef | grep ‘java’
grep后的java可以不加引号 - linux修改权限的方法
chmod 777 文件名
或者 chmod u-w 文件名
参数u g o 分别是属主 属组 其他用户 - 知道Linux怎么部署吗
- Java的重写和重载区别
答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。
- Java的静态类
- Java ee的中间件weblogc
- Java 的jar包如何用命令行执行
- 给出字符串’abcpost123post456postabc’,输出post之间的字符
- 给一个数组 [‘a’,‘b’,‘b’],输出其中的重复字符
- 给一个文件夹,打印出所有的文件名,统计出文件的数量,文件夹里存在嵌套关系 (python实现打印出一个文件夹下所有的文件及子文件夹)
- 给一个日志文件格式如下,需要统计出相同IP地址的访问次数:
IP: 192.168.0.1 TIME:20MS
IP: 192.168.0.1 TIME:30MS
IP: 192.168.1.1 TIME:40MS
- sql 两个表(员工表emp表,部门表dmp表),需要查询出质量部的员工数
员工表的定义
部门表的定义
方法一:
SELECT COUNT(*) FROM emp,dep where dep.depat_No=emp.depart_No and dep.depat_Name ='质量部'
方法二:
count(*)会记录该分组下的记录条数
SELECT depat_No,COUNT(*) FROM emp JOIN dep ON emp.depart_No=dep.depat_No WHERE dep.depat_Name='质量部' GROUP BY depat_No
方法一和方法二是连表的两种方法
- 为什么选择做测试,回答注重细节,有开发过测试平台,写过测试用例(此回答不好)
- 给出美团的搜索框和搜索按钮,请设计测试用例。输入正确和错误的字符,是否做出正确的跳转,是否弹出软键盘,是否防止sql注入
二面
1 自我介绍
2 TCP/IP的分层
浏览器输入一个url会发生什么
4 ping 127.0.0.1 和ping 本机ip地址,ping通远程服务器,ping 是看服务器是否能正常连通,通常是服务器重启、配置调整等,帮助站长快速了解服务器的进展。
cat main.log |grep “关键字” --color -a10 #不加--color -a10 也行,默认参数已经包含此项
6 输入字符串‘aaabbbcccaa’ 输出b3c3a2 即后面相同字母会覆盖掉前面的字母
7 将一个文件夹下的文件(存在嵌套文件夹),存放在一个列表里面
8 学习当中遇到的困难,怎么解决的
9 实习当中遇到的困难,怎么解决的
10 为啥想来做测试
#输出post之间的字符串
str1='abcpost123post456post11'
list1=str1.split('post')
if str1[-4:] == 'post': #如果最后结尾的字符是post,最后默认list1=['abc','123','456','']
print list1[1:-1]
else: #如果最后结尾的字符不是post ,最后输出list1=['abc','123','456','11']
print list1[1:-1]
#给一个数组 ['a','b','b'],输出其中的重复字符
list1=['a','b','b']
list2=[]
for i in list1:
if i not in list2:
list2.append(i)
else:
print i
#python实现打印出一个文件夹下所有的文件及子文件夹
import os
Directorylist = []
def FileList(dir,fileList):
if os.path.isfile(dir): #判断是文件?是文件表示没有子文件
fileList.append(dir)
elif os.path.isdir(dir): #为目录,检索此文件夹下是否还有文件
Directorylist.append(dir)
# print(os.listdir(dir)) # os.listdir ['10.pdf', '3.pdf', '4.pdf', '5.pdf', '6.pdf', '7.pdf', '8.pdf', '9.pdf', 'lala', '编程1.pdf', '编程2.pdf']
for s in os.listdir(dir): # s为一个目录名
newDir = os.path.join(dir,s)
FileList(newDir,fileList) #递归检索子文件夹
return fileList
File =input("输入你要检测的文件地址:")
fileList =FileList("%s"% File,[])
for f in fileList:
print(f)
print(Directorylist)
print("文件数量:",len(fileList))
print("文件夹数量:",len(Directorylist))
#给一个日志文件格式如下,需要统计出相同IP地址的访问次数
fl=open('1.txt','rb')
dict1={}
# print(fl.readline()) #readline每调用一次,返回一行
# print(fl.readline())
# print(fl.readline())
# print(fl.readlines()) #readlines 以列表的形式返回
for i in fl:
if i[:19] not in dict1.keys():
dict1[i[:19]]=1
else:
dict1[i[:19]]+=1
for j in dict1.keys():
print("%s%d" % (j,dict1[j]))
#输入字符串‘aaabbbcccaa' 输出b3c3a2 即后面相同字母会覆盖掉前面的字母
import re
str1='aaabbcccaabbbbbb'
index=0
ret=''
num = 1
for i in str1:
if i not in ret:
num=1
ret+=i+str(num)
elif i in ret and ret[-2] != i: #判断不是末尾的重复字母
#ret=ret.replace(i,'') #直接替换只能替换掉一个字母
strinfo=re.compile(i+'\w') #用正则表达式匹配之间的字母和后面的数字
ret=strinfo.sub('',ret) #用''替换掉之前重复的字母
num=1
ret+=i+str(num)
else: #是末尾的重复字母
num=num+1
ret=ret[:-1]+str(num)
print(ret)