招聘 [杭州] 阿里巴巴招聘测试开发工程师 P6-P7 (全职)

codeskyblue · 2020年04月07日 · 最后由 徐健 回复于 2021年08月26日 · 11755 次阅读

背景

有一天老大找到我,说希望我能多引荐几个人。想来想去,来社区发帖应该是最合适的了。(PS:也许过去在社区发了太多的帖子,喜欢社区的这个氛围)

招聘内容

阿里巴巴 - 淘宝测试开发工程师 需要招很多人,人数 N 个。

岗位要求

  • 至少 3 年以上工作经验
  • 本科及以上学历,硕士生,研究生,博士生更佳
  • 精通C、C++、Java、Python 等至少一种编程语言
  • 熟悉软件研发流程,掌握软件测试理论和方法,有设计和开发测试工具和自动化测试框架能力更佳
  • 喜欢钻研技术,对质量捍卫有热情,不断追求产品用户体验的完善
  • 善于沟通,善于团队合作

特别备注:该岗位不是外包

地点

浙江杭州阿里巴巴西溪园区

有到滨江,黄龙体育中心的班车。所以住在滨江也不用太担心。

薪资

互联网公司的工资,大家都知道的,我就不细说了。

简历发到哪里?

对我们来说,想找到一个合适的人实在是太难了。所以我这里给你设置了一点障碍。

下面是一道算法题

一个射击运动员打靶,靶一共有 10 环,连开 10 枪打中 90 环的可能性有多少种?

如果你成功算出来了结果,比如结果是 99。
打开浏览器的开发者选项,将下面的代码复制到 Console 标签中。
然后再输入getEmail(99) (注:这个 99 并不是正确答案,需要你自己计算),就获取到了要接受简历的邮箱。

如果答案是你动手算出来的,恭喜你,你将有很高的概率被录取。如果你能暴力破解出来,也是可以的。

function getEmail(N) {
  const m = N % 1024;
  const encoded = [185, 181, 190, 191, 169, 177, 163, 184, 182, 175, 191, 154, 189, 183, 187, 179, 182, 244, 185, 181, 183];
  const decoded = encoded.map(i => {
    return i ^ m
  })
  return String.fromCharCode.apply(null, decoded)
}

邮件格式

标题为:2020 阿里淘宝测试开发 - 面试-{你的姓名}
正文:校招还是社招。附上解题思路
附件:简历建议是 Word 格式,PDF 格式也可以的

我和我的团队将以最快的速度联系你 _. 非常期待你的加入。

结语

最后来一句洗脑神句子:梦想是要有的,万一实现了呢。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 66 条回复 时间 点赞

解出来,一开始以为是阿里邮箱误导了下,很好玩。。。

😂 介不介意被裁的来占个楼

简历发过来

陈子昂 回复

你可以直接取消一面了,直接 2、3 面了

codeskyblue 回复

😂 我先去解个题哈哈哈。简历先不急

仅楼主可见

题目都没看懂。。

Good, 你可以不用笔试了。来来,简历发来,粗糙一点没关系。

为啥用 gmail 了。。。

codeskyblue 回复

妥。我修修

11楼 已删除

完美的 gmail....

现在招聘贴都出这么多花样了么😂

仅楼主可见
肥狐 回复

Just because...

62楼 已删除
仅楼主可见
仅楼主可见

negtive

codeskyblue · #58 · 2020年04月08日 Author
仅楼主可见
仅楼主可见
codeskyblue · #22 · 2020年04月08日 Author
仅楼主可见
仅楼主可见
仅楼主可见
仅楼主可见

能百度出来的面试题不是好的程序员

仅楼主可见
codeskyblue · #28 · 2020年04月08日 Author
仅楼主可见
codeskyblue · #49 · 2020年04月08日 Author
仅楼主可见
30楼 已删除
codeskyblue · #47 · 2020年04月08日 Author
仅楼主可见
仅楼主可见

对大佬有所了解的,就会知道大佬有个很厉害的开源项目,这个开源项目托管在一个很厉害平台上,这个平台允许用户添加一个很厉害的邮箱,这时你就有了 50% 的概率,是或者不是😂 ,然后翻下评论,这时概率提升到 99%

44楼 已删除
codeskyblue · #43 · 2020年04月09日 Author
仅楼主可见

大圣,你得改下坐标了。Netease => Baba

Liu Xiao 回复

好的,改好了

仅楼主可见
海豚 回复

可以,不影响的

仅楼主可见
codeskyblue · #37 · 2020年04月12日 Author
仅楼主可见
42楼 已删除
仅楼主可见
codeskyblue · #34 · 2020年04月14日 Author
仅楼主可见
codeskyblue 2020年 第一季度招聘贴 中提及了此贴 04月22日 17:00
仅楼主可见
仅楼主可见
codeskyblue · #30 · 2020年06月24日 Author
仅楼主可见
仅楼主可见
28楼 已删除
仅楼主可见
仅楼主可见
25楼 已删除
K · #24 · 2020年09月08日
仅楼主可见
仅楼主可见

哈哈 这是个经典算法题 可通过递归算法来进行求解,运动员在射击的过程中,每次射击有 11 种可能:命中 0 环到 10 环之间的环数。

仅楼主可见
lt1023 回复

招啊,帖子不撤,找人不止

仅楼主可见
仅楼主可见
uasier 回复

P6 确实不招了,我仔细看了一下,P7 难度太大了

题目不太严谨,脱靶算不算?排列还是组合?
最多 100 环,脱得 10 环怎么分配到 10 个格子,概率论不难。
所以懒得算了,暴力了一把,10000 以内的找到 10 个答案

218,1242,2266,3290,4314,5338,6362,7386,8410,9434
email 是在如下的 jwt token 中:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXN1bHQiOiJjb2Rlc2t5Ymx1ZUBnbWFpbC5jb20iLCJuYW1lIjoiUGV0ZXIgUGVuZyIsImVtYWlsIjoicGV0ZXIucGVuZzEyMTVAZ21haWwuY29tIn0.5Bnqrt-VXcAb-wH8v0vR02i104Q8ohpmmolb48griSc

codeskyblue tidevice 开源:不依赖 Xcode 也能启动 WDA 中提及了此贴 01月27日 15:14
s = 0
for a1 in range(11):
    for a2 in range(11):
        for a3 in range(11):
            for a4 in range(11):
                for a5 in range(11):
                    for a6 in range(11):
                        for a7 in range(11):
                            for a8 in range(11):
                                for a9 in range(11):
                                    for a10 in range(11):
                                        if (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10) == 90:
                                            s = s + 1
print(s)
仅楼主可见
仅楼主可见
codeskyblue · #10 · 2021年02月13日 Author
仅楼主可见
我们仨 回复

Happy 牛 year

#62 优秀哈哈哈😀

71楼 已删除

解题思路:
1.设置矩阵高度和长度为 x,y;如 3,3 的矩阵如下,行代表次数,列代表环数
[
[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]
]
2.设 z 为目标总环数,f(x,y,z) 为可能的情况总数。
推到出公式

$$f(x,y,z)=\sum_{i=0}{n}f(x-1,y,z-i)$$

def get_nums(length, height, nums):
    r = 0
    if length == 1:
        if 0 <= nums <= height:
            r = 1
        return r
    for i in range(height + 1):
        r += get_nums(length-1, height, nums-i)
    return r

分析发现上面会进行很多无用的调用,导致执行时间太长,对调用过程进行剪裁,加入约束 z-y <= z-i <= (x-1)*y

def get_nums(length, height, nums):
    r = 0
    if length == 1:
        if 0 <= nums <= height:
            r = 1
        return r
    for i in range(height + 1):
        if nums-height <= nums-i <= (length-1)*height:
            r += get_nums(length-1, height, nums-i)
    return r

得出结果:92378

看到了这个 刚好有时间弄一下 我可没有大神会算法 我只会暴力

<html>

<head>
    <title>获取邮箱</title>
</head>

<body>
    <p>获取邮箱</p>
    <button onclick="at()">获取</button>
</body>

<script>
    function getEmail(N) {
        const m = N % 1024;
        const encoded = [185, 181, 190, 191, 169, 177, 163, 184, 182, 175, 191, 154, 189, 183, 187, 179, 182, 244, 185, 181, 183];
        const decoded = encoded.map(i => {
            return i ^ m
        })
        return String.fromCharCode.apply(null, decoded)
    }
    function at() {
        for (i = 50; i < 500; i++) {
            if (getEmail(i).indexOf('com') >= 0 || getEmail(i).indexOf('COM') >= 0 || getEmail(i).indexOf('cn') >= 0 || getEmail(i).indexOf('CN') >= 0) {
                window.alert("暴力破解 = " + i + "邮箱 = " + getEmail(i))
                break;
            }
        }
    }
</script>

</html>
匿名 #4 · 2021年04月07日

/**
*
* @param i 第几枪 总共 10 枪
* @param j 剩余可 miss 环数, 总共可以 miss 10 环
*/
public int num(int i ,int j,int count){
count++;
while(i>1) {
i--;
while(j>0){
count = num(i, j,count);
j--;
}
}
return count;

}

仅楼主可见
仅楼主可见
徐健 回复

大佬,我有三年工作经验了,可以加入你们了吗?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册