Akuna OA面筋 Python Dev

海投Akuna的Python Junior Dev,新鲜面筋。3道题,160分钟。没有选择题。
第一题,validation account number,标准输入是八位字符串,分成前两位和后六位。后六位要hex转decimal,然后所有数位上的数加和,再转成hex,看是否和前两位一样,一样则是valid。tricky的地方在如果直接用python的int转16位,不能handle一些runtime error
第二题,计算地球上两点间距离,题中给了球面计算公式。标准输入有两种,LOC开头的字符串后接地点名称,lat,lon;
TRIP开头的字符串后接订单确认号,地点名1,地点名2。要求接收到TRIP开头的字符串就输出计算出的两地相距距离。可参
考:https://medium.com/@petehouston/calculate-distance-of-two-locations-on-earth-using-python-1501b1944d97 中的The Great-Circle Distance

第三题,longest trip。标准输入是两个城市名和它们之间的距离,要求输出三个城市(即两段城市间距离加和,第一段的到达城市必须是第二段的起始城市)的最大距离(如果现有memory里少于3个城市则输出None)。大概想法就是自定义一个data structure,可一直接收输入新的城市和距离,然后返回最大的两段加和

总体来说不难,时间也够,感觉主要是考implementation

1 Like

Data Infra Dev - 2020 + Core Skills OA
好像2个半小时,记不太清了
10道选择题 + 1 题coding, 基础知识,unit testing, sort algorithm, SOLID, deep recursion,其他记不清。
coding 是 Transactional HashTable Reconstruction 能力不够,不太会做。截图放在下面了。
我真的有种刷题刷了好多,每次OA都能遇到新的知识点,比如上次做了一个关于BigInteger的coding OA.

https://www.evernote.com/l/AsHEOd-wR1lAVpHad8wo76QPWX6MPze83g0

或者 https://www.evernote.com/shard/s208/sh/0974924e-07fc-4ea8-8f6e-03b629bff2f4/ec1e796fc5adb430a0c762bf2eb1657d