新足迹

 找回密码
 注册

精华好帖回顾

· 为了忘却的纪念 (2005-9-22) yarra · 谈谈我在小公司做会计的工作经历(firm) (2012-6-2) KatnissEverdeen
· Michael Jackson 超白金歌曲(87楼起有奖竞猜!10月31日截止) (2008-9-4) steveking · 我家宝宝的辅食日记(菜谱)--(1月19号更新) (2009-1-4) little_bw
Advertisement
Advertisement
查看: 2396|回复: 22

[IT] 关于找工作做测试的题目 [复制链接]

发表于 2022-2-22 12:47 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这几天找工作每一份工作都需要做技术题目。 其中一份题目是给出一些运行起来有问题的代码 (python), 最后有一个assert 来检测输出结果。要求就是修正这些问题能通过这个assert 的测试。而且还要在题目里回答一些概念的题目,比如:procedure programming 和 OOP 的区别之类的。

这题目是一个*.py打包成为一个zip 文件,放在Google Drive里。 通过email 把连接发给我,我下载了解压文件然后存到别的地方再在那py 文件上做。

他的要求是45分钟完成7道题。 我最后用了大概用了1.5 小时完成所有的题目,检测所有题目的通过了测试,然后我重新打包放到Google Drive, 把链接通过email 回复发回去。

结果今天收到拒信,里面都是套话,没有说原因。 我想来想去,唯一的解释就是我超时完成题目。 但是那个py文件只会显示文件最后修改的时间? 对方是如何得知我这题目是什么时候开始做的? 难道是有记录我从Google Drive下载的时间?

哎,现在找工作比学生时代考期末考要难上百倍。 过了技术题目的关卡都只是争取一个interview的机会。 而且会不会有可能有些雇主是借面试的机会把一些工作要做的任务做成面试题目给申请者? 让申请者做完,然后就拒了他, 继续找别的申请者做其他部分? 这不等于免费劳动吗? 大家是怎么看这问题的呢?
I am Micfox
Advertisement
Advertisement

发表于 2022-2-22 13:02 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
好奇5分钟一道题得是多简单的题。有例子吗?如果稍微需要思考的,就很容易超出时间。平时工作又不需要赶时间,设置这个时间限制不知道有何意义?

也有可能是你的solution不够优化,或者code写得不够漂亮?45分钟他们还要求unit test外加documentation吗?

发表于 2022-2-22 13:14 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Grange 发表于 2022-2-22 14:02
好奇5分钟一道题得是多简单的题。有例子吗?如果稍微需要思考的,就很容易超出时间。平时工作又不需要赶时 ...

funcs = []
def question_1():
    """ Unexpected behaviour:

    The code below creates functions in a loop, and puts all these new
    functions into a list. Unfortunately, when we call the functions the
    results are incorrect. Fix the answer so that the test passes.  """

    # --------------------- ANSWER -------------------------------------------

    for i in range(10):
        # Put a new function into the list on every loop
        def f():
            return i
        funcs.append(f)
    # ========================================================================
    # TEST
question_1()
assert [_() for _ in funcs] == list(range(10))
    # Discussion:
    # - How would you guide, or give general advice to team members to avoid
    #   this kind of error?


========

这是第一道题。

评分

参与人数 1积分 +3 收起 理由
Grange + 3 感谢分享

查看全部评分

I am Micfox

发表于 2022-2-22 17:54 来自手机 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
有人想出我給那個例子的答案了嗎?

发表于 2022-2-22 18:24 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 Grange 于 2022-2-22 18:29 编辑
micfox001 发表于 2022-2-22 17:54
有人想出我給那個例子的答案了嗎?


lambda?

  1. In [247]: funcs = []

  2. In [248]: def q1():
  3.      ...:     for i in range(10):
  4.      ...:         f = lambda x: x
  5.      ...:         funcs.append(f(i))
  6.      ...:

  7. In [249]: q1()

  8. In [250]: funcs
  9. Out[250]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码

发表于 2022-2-22 18:40 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 micfox001 于 2022-2-22 19:43 编辑


不对。

你这是改变了原来题目要求的功能。

“The code below creates functions in a loop, and puts all these new functions into a list. ”

那个list 应该是list of functions,每个function return 一个integer (从0 到 9 )。  不是直接的list of numbers。 你那个funcs list 里面存的是function f 的返回值, 不是f本身。
I am Micfox
Advertisement
Advertisement

发表于 2022-2-22 18:48 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
嗯,你是对的。我再想想。

在原来的题里,主要问题是“f”被overwrite了,总是最后一个object。

发表于 2022-2-22 20:34 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
How about this?

  1. In [335]: funcs = []
  2.      ...: def q1():
  3.      ...:     for i in range(10):
  4.      ...:         f = lambda i=i: i
  5.      ...:         funcs.append(f)
  6.      ...:

  7. In [336]: q1()

  8. In [337]: funcs
  9. Out[337]:
  10. [<function __main__.q1.<locals>.<lambda>(i=0)>,
  11. <function __main__.q1.<locals>.<lambda>(i=1)>,
  12. <function __main__.q1.<locals>.<lambda>(i=2)>,
  13. <function __main__.q1.<locals>.<lambda>(i=3)>,
  14. <function __main__.q1.<locals>.<lambda>(i=4)>,
  15. <function __main__.q1.<locals>.<lambda>(i=5)>,
  16. <function __main__.q1.<locals>.<lambda>(i=6)>,
  17. <function __main__.q1.<locals>.<lambda>(i=7)>,
  18. <function __main__.q1.<locals>.<lambda>(i=8)>,
  19. <function __main__.q1.<locals>.<lambda>(i=9)>]

  20. In [338]: [_() for _ in funcs]
  21. Out[338]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码

发表于 2022-2-22 20:41 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
所以说, 要求45分钟做7道这样类似的debug的题目(准确是6道, 另外一道题输出结果没错,但是是要求提高performance, 把execution time 缩短少于1毫秒。 原题的execution time是93毫秒)。 做出来还拿不到interview机会, 真想知道要找什么人??
I am Micfox

发表于 2022-2-22 20:44 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 micfox001 于 2022-2-22 21:47 编辑


应该是能通过assert。

我的做法是没用lambda, 直接在f函数的参数列表框里里加一个 i=i 就可以了
I am Micfox

发表于 2022-2-22 20:47 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 Grange 于 2022-2-22 20:52 编辑
micfox001 发表于 2022-2-22 20:44
应该是能通过assert。

我的做法是没用lambda, 直接在f函数的参数列表框里里加一个 i=i 就可以了 ...


嗯,从来没见过这么玩儿的,学习了。
Advertisement
Advertisement

发表于 2022-2-23 08:40 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
楼主,还有没有什么好玩儿的题分享一下?

发表于 2022-2-23 10:06 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Grange 发表于 2022-2-23 09:40
楼主,还有没有什么好玩儿的题分享一下?

被拒了没心情。

以后再说吧
I am Micfox

发表于 2022-2-23 10:58 |显示全部楼层
此文章由 Grange 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Grange 所有!转贴必须注明作者、出处和本声明,并保持内容完整
micfox001 发表于 2022-2-23 10:06
被拒了没心情。

以后再说吧

其实有时候被拒是招聘公司那边发生了变动,和你的技术水平毫无相关,不用太失落。

发表于 2022-2-23 12:47 |显示全部楼层
此文章由 zyzbill 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zyzbill 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lz把其他几道题发出了看看,我比较好奇,想看看有多难

发表于 2022-2-23 16:41 来自手机 |显示全部楼层
此文章由 goldenseiya 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 goldenseiya 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看来IT面试并没有变容易
Advertisement
Advertisement

发表于 2022-2-24 20:27 来自手机 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整
zyzbill 发表于 2022-2-23 13:47
lz把其他几道题发出了看看,我比较好奇,想看看有多难

要看題自己去投履歷就行了。幾乎每一份編程的工作都會出題
I am Micfox

发表于 2022-2-24 23:40 |显示全部楼层
此文章由 zyzbill 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zyzbill 所有!转贴必须注明作者、出处和本声明,并保持内容完整
micfox001 发表于 2022-2-24 21:27
要看題自己去投履歷就行了。幾乎每一份編程的工作都會出題

我不是Python dev

发表于 2022-2-25 16:57 |显示全部楼层
此文章由 micfox001 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 micfox001 所有!转贴必须注明作者、出处和本声明,并保持内容完整

无论是什么语言都一样,只要是编程的。要Interview 都要先做题。
I am Micfox

发表于 2022-2-25 17:09 |显示全部楼层
此文章由 zyzbill 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zyzbill 所有!转贴必须注明作者、出处和本声明,并保持内容完整
micfox001 发表于 2022-2-25 17:57
无论是什么语言都一样,只要是编程的。要Interview 都要先做题。

good luck

发表于 2022-2-25 20:41 |显示全部楼层
此文章由 zhounaldo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zhounaldo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
还是IT专业啊

会计招人感觉很多时候都是凭感觉 开盲盒。CV感觉都是千篇一律 reference肯定都是关系好的

想想真的没什么专业题目可以在面试里面用 哈哈
Advertisement
Advertisement

发表于 2022-2-25 22:57 来自手机 |显示全部楼层
此文章由 青衫未烬 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 青衫未烬 所有!转贴必须注明作者、出处和本声明,并保持内容完整
好奇是什么公司的OA,感觉第一题完全是考python的熟练度。。。

发表于 2022-2-27 07:59 来自手机 |显示全部楼层
此文章由 dryb 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dryb 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我也被要求做了technical assessment,我的个人感受是不管结果如何都要做,因为很多人可能嫌麻烦不回复,做的人机会就大了很多

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部