【虾皮】测试社招一面凉经

看到大家对虾皮评价都挺好的,然后我看了下虾皮招聘要求,感觉基本都符合了,正好年前人家boss上找我要了简历,之后就是紧张的刷题背网络知识的准备工作。
最先要我简历的这个部门处理速度太慢了,年后同公司另一个部门又找我要了简历,给我安排面试的时候才看到简历被之前的部门锁住了,无法安排面试,然后通知了前面那个部门的HR,那个部门才给我安排了面试。😂

1.首先惯例的自我介绍
我这次就简单介绍了下负责的项目内容和工作内容,及我的工作成果。

2.用例设计:针对淘宝的搜索商品功能进行用例设计
我从UI界面、传参、返回结果、性能、兼容、安全几个方面考虑讲了需要测试的点

3.问接口测试的流程和用例设计方法需要考虑的点
我讲了从入参类型长度、返回内容、返回状态、接口功能逻辑等几个方面考虑

4.问我有没有写过接口(一脸问号???)比如订单退款接口需要设计哪些字段
我讲了订单内容(付款金额、付款时间、订单ID、物品详情等),操作时间,然后面试官提醒要注意重复退款,然后我就又说了个订单状态

5.问SQL和python掌握程度。
SQL上来就问个乐观锁悲观锁(疯狂问号脸????😲我一测试你问我这个?),这个当然不知道了。python问列表操作,比如切片(这个答得没问题),删除操作有哪些,我只记得一个pop(还有个remove,这个真用得少不记得)。
然后还问了个self的定义(这个我知道用法,但让我说定义我还真讲不出来🤣还是python代码写得少
我赶紧说我熟练度不是很高,SQL平常只用到增删查改。

6.然后就转入最后环节,手撕SQL和代码。
sql题不难,考的是聚合函数和两表连接,这个我都做出来了。代码题也很简单,就是求N以内的质数个数。我是先写了个判断是否质数的函数,然后for循环小于n的数判断是否质数。结果由于有点紧张,上面的判断函数写错一个参数,导致判断结果有问题,最后检查的时候也没注意到🤣面试官就问了我的实现思路,还安慰我说思路是正确的。。。

7.最后提了一句,说那边对英语能力有要求。
我说我读写能力没问题,现在负责的有个项目就是英文界面,但是说可能开不了口😂但我可以学。。

总结一下吧,我投的系统测试岗位,看岗位说明也是偏向于业务方向的测试,结果项目相关的没问多少,主要就抓技术基础和深度。。。可能是因为我在技术方面没有表现好,几天后就收到了虾皮的感谢信😂
#面试##社招##测试工程师##面经##Shopee#
全部评论
楼主,悲观锁和乐观锁具体问的什么啊
1 回复 分享
发布于 2021-04-17 20:45
你可以关注虾皮招聘公众号知道目前进度,感谢信无论过没过都会收到的,不要担心。
1 回复 分享
发布于 2021-03-07 22:55
现场面的嘛
点赞 回复 分享
发布于 2022-02-13 17:28
答挺好了啊感觉,还感谢信。。
点赞 回复 分享
发布于 2021-12-06 15:48
校友啊,base哪里~深圳还是sg呀
点赞 回复 分享
发布于 2021-04-09 20:50
亲 写代码是手写吗?
点赞 回复 分享
发布于 2021-04-09 20:41
校友啊,现在在哪个厂
点赞 回复 分享
发布于 2021-03-07 19:49
哪个组呀?
点赞 回复 分享
发布于 2021-03-05 09:45

相关推荐

生成哈夫曼树[E卷,100分]题目描述给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于 1 。请完成一个函数,根据输入的数字数组,生成[哈夫曼树],并将哈夫曼树按照中序遍历输出。为了保证输出的[二叉树中序遍历]结果统一,增加以下限制:又树节点中,左节点权值小于等于右节点权值,根节点权值为左右节点权值之和。当左右节点权值相同时,左子树高度高度小于等于右子树。注意: 所有用例保证有效,并能生成哈夫曼树提醒:哈夫曼树又称最优二叉树,是一种带权路径长度最短的一叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为 0 00 层,叶结点到根结点的路径长度为叶结点的层数)输入描述例如:由叶子节点 5 15 40 30 10 生成的最优二叉树如下图所示,该树的最短带权路径长度为 40 * 1 + 30 * 2 +5 * 4 + 10 * 4 = 205 。输出描述输出一个哈夫曼的中序遍历数组,数值间以空格分隔示例1输入55 15 40 30 10输出40 100 30 60 15 30 5 15 10#include <functional>#include <iostream>#include <vector>#include <queue>using namespace std;struct TreeNode{    int val;    TreeNode* left;    TreeNode* right;    TreeNode(): val(0), left(nullptr), right(nullptr){}    TreeNode(int n): val(n), left(nullptr), right(nullptr){}    TreeNode(int n, TreeNode* left, TreeNode* right): val(n), left(left), right(right){}};auto method = [](TreeNode* a, TreeNode* b){    return a -> val > b -> val;};void inOrder(TreeNode* root){    if(root -> left){        inOrder(root -> left);    }    cout << root -> val << ' ';    if(root -> right){        inOrder(root -> right);    }}int getHeight(TreeNode* node) {    if (!node) return 0;    return 1 + max(getHeight(node->left), getHeight(node->right));}int main(){    int n;    cin >> n;    priority_queue<TreeNode*, vector<TreeNode*>, decltype(method)>nodeList(method);    int perVal;    for(int i = 0; i < n; i++){        cin >> perVal;        TreeNode* node = new TreeNode(perVal);        nodeList.push(node);    }    TreeNode* root = new TreeNode();    while(!nodeList.empty()){        if(nodeList.size() > 1){            auto a = nodeList.top();            nodeList.pop();            auto b = nodeList.top();            nodeList.pop();            TreeNode* father = new TreeNode(a -> val + b -> val);            if(a -> val < b -> val){                father -> left = a;                father -> right = b;            }            else{                int aH = getHeight(a);                int bH = getHeight(b);                if(aH < bH){                    father -> left = a;                    father -> right = b;                }                else{                    father -> left = b;                    father -> right = a;                }            }            nodeList.push(father);        }        if(nodeList.size() == 1){            root = nodeList.top();            nodeList.pop();        }    }    inOrder(root);}
点赞 评论 收藏
分享
评论
8
108
分享

创作者周榜

更多
牛客网
牛客企业服务