快手测试一面 (25分钟,挂)
快手一面的面试官是随机的,和我最终要面试的部门无关。可能是这个原因,面试官一直比较冷漠,开场双方没有任何自我介绍或者寒暄,直接开始问问题。而且问的问题都很直接(第一个问题是我能实习多久?)。
(一)深挖美团实习经历
离开美团原因
问一些技术细节
(二)问简历上的项目经历
(三)算法题,二分查找
京东测试一面(50分钟,通过)
京东的面试官很随和幽默,整个面试体验极好
自我介绍
搭网站
- 如何测试稳定性?
- 如有一个同类型、功能相同的网站清单,如何给出一个网站稳定性排名
问美团实习经历
- 测试框架相关
- API, ui测试区别
- 你在测试过程中发现了哪些有意义/有意思的Bug,遇到了哪些功能性Bug
- Bug底层起因
主语言?简历上的项目用的语言?
问Java:JDK8的八股可以问吗?前端可以问吗?Shell可以问吗?
- 不行,不行,不行
(面试官蚌埠住了)
排序算法有哪些
冒泡、快排的时间复杂度
链表排序用哪种
如何实现递归调用、如何结束递归
问几个Linux命令
- 根目录下,查找所有目录中名为abc的文件夹
- find -d 和-f的区别
- shell中if else语法
- 如何知道我到百度中间有几跳服务器
- 如何看Linux/类Unix内核版本
能实习多久
京东HR面(20分钟,挂)
给自己在美团的表现打分
在美团做得好、不好的地方
美团入职后帮助最大的是什么
美团做了啥 组里几个人 是如何分工的
美团 沟通主动性、业务不熟两个困难是如何解决的
某国企H笔试 通过
有1000万个搜索记录(去重后300万个),每个记录是<255长的字符串,现需统计Top10热门(重复次数最多的),请问可以怎么做?要求内存占用不超过1GB
子网掩码
重抛异常
堆栈空间:malloc的是堆空间还是栈空间
某外企S笔试 通过
限时2小时,实际1h35m
题型
-
单选题 10题*3分
-
多选题 5题*3分
-
单选
- 位运算
- 二叉树的前序、中序、后序遍历
- SQL语句
- http状态码1xx,2xx,3xx,4xx,5xx是什么?504是什么?
- 测试100个字符的输入框,合适的测试用例是?[0, 1, 50, 99, 100, 101]
- 概率论:共12个快递,属于6个人,每人2个,随机取出5个,至少有2个属于同一个人的概率?[8/33, 1/3, 2/3, 25/33]
多选
- stack数据结构
- echo能不能看文件内容?less、more呢?tail呢?
https://sxxxxx.cn
(该公司官网)- 属于TCP/IP协议簇的有哪些?
编程题
1-n中,包含2的个数?
反转字符串中的小写字母 1e3r – 3r1e, shopee – eepohs,Shop – Spoh;单词之间的顺序不变
对于给定的一个包含连续字母、连续数字及空格的字符串(不会出现字母和数字连在一起出现),实现字母部分按出现顺序排列而数字按照从小到大顺序排在最后一个字母后边。例如,apple banana 123 apex 7 pineapple 45,排序后是apple banana apex pineapple 7 123 45
某外企S面试 55mins 通过
寒暄
自我介绍
你未来的职业工作中你更倾向于哪一类岗位?
简历上的实习经历
-
之前实习的自动化测试架能给我简单的介绍一下吗?
-
定位元素是 resource ID 还是XPath?
-
自动化脚本失败率?
-
整个项目的意义、产出?
-
我们的自动化也经常挂,但是它的作用也变成了巡检;你们当时如果巡检过程中某个case失败,会自动重试吗?
-
有针对弹窗做一些处理吗?
-
如果case都成功了,但是被弹窗打断,认定为失败了,你能想到哪些解决方案?
常用的Linux命令
专门提问:
-
wc 查文件行数
-
netstat 查某端口被哪个进程占用
-
chmod 改权限
用浏览器访问baidu.com会发生什么(计网的各协议角度)
了解哪些抓包工具?(Wireshark)
了解哪些接口测试/压测工具?(Postman, APIPost, Charles)
了解Socket吗
介绍下对称、非对称加密
链表、数组各自的特点及优缺点
数据库
-
分库分表
-
数据库增删改查的语句(手写)
-
了解Redis吗
算法题:两数之和
测试用例的设计方法
项目周期
场景题:有一个接口,(商品名,数量,单价,税率),给定了各自的字段类型和取值范围,设计测试用例
安全测试有哪些方式?了解SQL注入吗?
反问环节
某外企S二面 55mins 通过
自我介绍
问实习经历
-
问具体测试框架
运行这段代码,会消耗多少内存
-
char *b = (char*)malloc(100*1024*1024); for(int i=0; i<3*1024*1024; i++){ b[i] = 'a'; }
-
我和面试官的想法不一致,我认为是100MB,面试官认为是3MB。
-
面试官问:在所有情况下都是消耗3MB内存吗?
-
面试官希望的回答:系统内存Page页大小相关等
概率论
-
如果一个人有流感,某检测方法的阳性率是90%;如果没有流感,阳性率是9%;求如果一个人的检测结果是阳性,他有多大概率得了流感?
-
已有的条件是否可以求出结果?
算法题
-
第一个不重复的字符
-
写完之后,面试官认为我的代码不能处理空字符串的情况,我认为可以。在实际尝试后,我是对的。面试官说为增强代码可读性,应该在函数开头先特判,无论后面的逻辑是否包含了空字符串。此外,面试官还说我没有写注释。
-
时间、空间复杂度?
-
优化?
-
追问:如果题目是 出现次数最少得字符索引
上段实习,你最大的收获什么
针对微信发送视频的场景,设计测试用例
针对微信视频聊天的场景,设计测试用例
APP卡死的可能原因
兼容性测试?
了解QT4A吗
接口测试的压力测试会关注哪些性能指标
视频聊天出现卡顿,可能的原因?排查思路?
上段实习
-
美团自动化测试框架,遇到弹窗怎么办?
-
你给美团带来了什么收益?
操作系统
-
介绍下虚拟内存的机制
-
PC上为什么Crash的概率比手机低?
-
了解swap吗
-
“当系统检测到内存不足时”,如何判断内存不足?
-
Redis
-
上次面试官问了redis,你当时说得不好,你之后去学习Redis相关的内容了吗
你之前写过webserver吗
你了解QPS这个指标吗
异步接口了解吗?
-
异步接口要做测试,需要做哪些额外的验证
了解GPT吗?
-
我说Transformer,面试官问除了本质是Transformer,还了解什么?
反问环节
某外企S的HR面 10mins 通过
寒暄
自我介绍
询问学业情况
到岗时间
(后因各种客观原因,非常遗憾拒绝了该offer,心疼)
某国企面试 20mins 技术+HR面 挂
自我介绍
工作中出现失误怎么办
合作中,遇到时间紧张的工作,而我负责前半部分,我会如何安排工作
遇到棘手问题怎么做
介绍下美团实习的自动化测试方案
常用的STL库,说几个
常用的Linux命令说几个
会用gdb吗
会用git吗
设计一个C++类,要考虑哪些事情
百度测试一面 44mins 挂
寒暄
提问简历中的某数据指标含义
到岗时间、实习时长
提问简历中的项目:
- 为啥选Java+Vue+MySQL
- 提问Cookie
- 提问Session ID机制
- 提问Redis
- 前端水平如何
- vue父子组件如何传递参数
- Java这个项目的部署逻辑?是在本地的吗
-
介绍下自动化测试框架
-
ui自动化容错率低,如何解决
-
如何理解软件测试工作
关于Java Spring Boot注解的理解
如何理解事务(数据库事务、Java事务)
数据结构
-
队列、栈、堆
http状态码可以分享一些吗?
-
(答得不好)2xx成功,3xx重定向,4xx客户端问题,5xx服务端问题
简单的Linux命令列举一些
-
文件管理
-
进程管理
-
面试官问了chmod、scp
测试工作各方面有什么经验
针对一个接口,你会从哪些维度来测试
大模型了解过吗,工作是大模型相关的
算法题:括号匹配(10mins,说实话写得有点久了,太久没写不熟了)
反问环节
小米测试实习 12mins (Leader面)
自我介绍
面试官询问到岗时间、实习时长
面试官询问毕设、研究方向
面试官询问美团实习经历、语言
python
-
深拷贝、浅拷贝区别
-
单例模式听说过吗?(没答上来)
-
python常用数据类型(实际先问的是数据结构,list, dict, tuple)
-
列表和元组的区别
面试官介绍部门工作内容
反问环节
-
询问手工测试/标注部分在工作的占比?(20%-30%)
小米测试实习二面 10分钟
寒暄
自我介绍
介绍下美团的实习经历
adb、安卓activity、Linux相关的简单问题
Frank Lee
多来点,爱看这种
Ant
运行这段代码,会消耗多少内存
“`cpp
char *b = (char*)malloc(100*1024*1024);
for(int i=0; i<3*1024*1024; i++){
b[i] = 'a';
}
```
我和面试官的想法不一致,我认为是100MB,面试官认为是3MB。
关于这个问题,我发现应该从虚拟内存和物理内存两个角度来看。
Ant
以下是ChatGPT的回答
1. malloc 分配的内存
malloc(100 * 1024 * 1024) 分配 100MB 的堆内存(但内容未初始化)。
malloc 只是向操作系统申请了这块内存,并不会真正占用物理内存,直到访问它时才会分配实际的物理页。
Ant
2. for 循环写入数据
for(int i = 0; i < 3 * 1024 * 1024; i++) 该循环写入 3 * 1024 * 1024 = 3MB 的数据,每个 char 为 1 字节。 这会导致至少 3MB 的物理内存被真正分配(按页分配,可能稍多)。
Ant
3. 实际内存消耗
虚拟内存(VIRT):100MB(malloc 申请的大小)。
实际物理内存(RSS): 至少 3MB(因为写入了 3MB 数据)。
可能略多(由于操作系统按 页(通常 4KB) 分配,可能导致多分配部分页)。
若 OS 采用 按需分配(Lazy Allocation),则只会分配访问过的部分。
【对应面试官提问:在所有情况下都是消耗3MB内存吗?】
Ant
4. 额外注意:
malloc 只申请地址空间,不实际占用物理内存,直到访问它(写入)时才分配。
如果不 free(b);,程序结束后这块内存才会被 OS 释放。
Ant
总结
✅ malloc 申请 100MB 虚拟地址空间
✅ 实际分配的物理内存 ≈ 3MB(受页大小影响,可能稍大)
✅ 进程 VIRT = 100MB,RSS ≈ 3MB+(实际访问部分) 如果你想测量进程的内存占用,可以使用 Linux 命令:
pmap -x
top -p