好未来 测试开发一面
时间 :8.8
职位: 测试开发工程师
结果: 一面通过
2021秋招面经汇总: :books:
自我介绍 介绍实习项目
能否介绍一个具体的项目接口
请给这个接口提供测试用例
主要就是从参数的类型,参数的不同值,还有一些边界条件来思考
算法题 859.亲密字符串
题意: 给定两个由小写字母构成的字符串 A
和 B
,只要我们可以通过交换 A
中的两个字母得到与 B
相等的结果,就返回 true
;否则返回 false
class Solution { public: bool buddyStrings(string A, string B) { if(A.size() != B.size()) return false; int first = -1; int second = -1; if(A == B){ unordered_set<int> s; for(auto x : A){ if(s.count(x)) return true; s.insert(x); } return false; } else { for(int i = 0; i < A.size(); i ++){ if(A[i] != B[i]){ if(first == -1){ first = i; } else if(second == -1){ second = i; } else { return false; } } } if(first == -1 || second == -1) return false; return A[first] == B[second] && B[first] == A[second]; } } };
针对上面的算法题设计一下测试用例
包含空字符串的
"aaa" "" "" ""
完全相同的
"aa" "aa" "ab" "ab"
交换一次
"ab" "ba" "aabc" "aacb"
需要交换两次
"bcbc" "cbcb"
其他
"bcdf" "cedf"
假如上方的算法题的输入是根据网页上的输入框进行输入的,那么测试用例该是什么呢?
这个应该是考虑网页输入,还有网络,浏览器兼容,还有一些安全方面的因素
聊聊项目中如何优化的SQL语句吧
其实两方面吧,一方面是SQL语句优化,另一方面是通过建立索引去优化表结构
如何找到慢查询
慢查询日志
因为我有说SQL优化可以将JOIN查询拆分成单表查询,JOIN 工作放在内存里面做,所以面试官问了如果海量数据,内存中放不下该怎么办
这个不知道了。。。
写SQL,表中有学员ID, 学科,成绩。求每个学生的平均分
SELECT AVG(成绩) FROM 表名 GROUP BY (ID);
查询及格的科目的平均分
SELECT AVG(成绩) FROM 表名 WHERE 成绩 > 60 GROUP BY(ID);
Linux 知道什么命令
说了基本命令
Top 命令的参数都知道吗
# 时间 CPU负载信息 top - 13:47:32 up 68 days, 2:49, 1 user, load average: 0.09, 0.05, 0.07 # 正在运行的进程 睡眠的进程 停止的进程数 僵死的进程 Tasks: 119 total, 1 running, 84 sleeping, 0 stopped, 0 zombie # CPU 总体信息 %Cpu(s): 1.3 us, 1.8 sy, 0.0 ni, 96.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st # 内存 KiB Mem : 4039176 total, 1719412 free, 458824 used, 1860940 buff/cache # 交换空间 KiB Swap: 0 total, 0 free, 0 used. 3283360 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20972 root 10 -10 144656 26612 15288 S 1.3 0.7 752:57.40 AliYunDun 23174 root 20 0 41784 3708 3104 R 0.3 0.1 0:00.02 top 27661 root 20 0 183500 28396 3784 S 0.3 0.7 164:21.29 uwsgi 27662 root 20 0 183500 28396 3784 S 0.3 0.7 164:20.16 uwsgi 27663 root 20 0 183500 28396 3784 S 0.3 0.7 164:04.25 uwsgi
HTTP 协议和 HTTPS 协议的区别
- 端口不同:HTTP使用的是80端口,HTTPS使用443端口;
- HTTP(超文本传输协议)信息是明文传输,HTTPS运行在SSL(Secure Socket Layer)之上,添加了加密和认证机制,更加安全;
- HTTPS由于加密解密会带来更大的CPU和内存开销;
- HTTPS通信需要证书,一般需要向证书颁发机构(CA)购买
参考:Waking-Up
全部评论
(0) 回帖