Akuna OA Python Junior Dev

报个OA回馈一下大家。
前面10道选择题,有单选有多选,可能题会有变动
分easy median hard
我的hard是问对于某个算法,parallel 比 serial速度要慢可能的原因有哪些

后面三道编程题,和之前看到的面经一模一样
不难,都是考察实现。注意第三题要求三个城市是不同的,且输出的是全局最大
但是第一题16进制转10进制我test case总是过不去,到现在也没有想通
看别人说是不能直接用int()转。
我估计是凉了

祝大家好运嗷

1 Like

感谢楼主,为何说是凉了?

因为整个OA偏简单,我还有道题test case没全过。。大概率是凉了

同学请问3道编程题的面经在哪里呀,方便加个微信吗?

可以用int()的 你要额外检查 input是不是len == 8,我前天做的,这样就过了

2 Likes

笑死,我太蠢了:sweat_smile:

不蠢 不蠢 我在那试, 说啥input<=7也不行 啥啥啥 最后试出来的 反正估计白嫖。。

你网上搜 就有的 在某地上

我的第一题AC了

def process(line: str) -> str:
    # Return 'VALID' or 'INVALID'
    d = {"A":10, "B":11, "C":12, "D":13, "E":14, "F": 15, "a":10, "b":11, "c":12, "d":13, "e":14, "f": 15}

    if len(line) != 8:
        return "INVALID"
    def getval(c):
        if c in d: return d[c]
        return int(c)
    for c in line:
        try:
            getval(c)
        except:
            return "INVALID"
    head = 16 * getval(line[0]) + getval(line[1])
    tail = 0
    for i,c in enumerate(line[2:]):
        tail += getval(c) * (16 ** (5-i))
    # print(tail)
    return "VALID" if head == sum(int(i) for i in str(tail)) else "INVALID"

第三题卡了我好久。。。一直没看到必须是三个城市, 一直理解成>=3个了。。。哭