雅虎 三小时 project 面经 + 吐槽

地里纽约雅虎三小时小项目的面经太少了,之前地里有个类似猜词游戏的面经,我是前天,也就是16号面的,遇到的题不一样,感觉最近去onsite有很大概率碰到这一题,所以来详细说一下,希望能帮到需要的人
我遇到的是一个关于加密解密的问题:
“attached is an archive of files in a directory structure. Each file contains Base64 encoded text. Somewhere in these files resides a randomly generated AES 128 bit encryption key. Elsewhere in the files resides a phrase about Yahoo that’s been encrypted with said key. The challenge is to find the phrase.”
就是说,发给我了一堆文件,里面全是加密的,重要的是要找到两个文件,一个文件里是AES 128 Bit encryption key, 另一个文件里是包含有"yahoo"这个词的。目的就是用这个key,去解密这个包含yahoo的文件。

给个我收到的文件截图:可以看到全是加密的

由于我对什么AES encryption key 啥也不懂,太水了从没接触过,理解题目都理解了好久。。。。。。面试官允许我google,我就只好当场现学,我的做法是这样:

  1. 具体aes怎么加密的,随便一搜,wiki里有很详细的介绍,我还花时间看了。。但是后来做完觉得其实不需要知道这些,真的!!!
  2. 边学边理解,先参考网上写了个用AES Algorithm 加密解密的小code,测试了下,发现可以,这说明解密的代码能work
  3. 读取 文件~
  4. 想办法找到key,我看是128bit,我就直接check length了 =。=,这样filter下来大概就4400+ ? 左右的可能是key的文件
    实在没想到有啥好的filter的办法,如果有人知道麻烦告诉我 。。
  5. 拿到key了后,就去试可能含有yahoo这个词的文件,这个地方我刚开始没想到有啥好办法,直接暴力,结果把电脑跑死机了=.=。。。。后来面试官过来,提示文件byte[]的大小应该是16的倍数,这样一下就把需要试的文件缩小到23123个了
  6. 现在知道了 list of candidates keys & files, 用这些key一个个试着decrypt 这些文件,这部分就是2里的decrpt代码

最终的结果, 我解密的文件里是这样的: “Yahoo stands for yet another hierarchical officious oracle”

补充一点,这里key就是用的AES, 没有什么CBC mode or initial vector 之类,就是, 你create instance of the Cipher 时:
Cipher c = Cipher.getInstance(“AES”)

就可以了!

做法简单粗暴,没脑子也没时间想优化。。。但是面试官对我的做法还是满意的,如果有更好的解法,欢迎大家讨论呀

好了,题目说完,接下来是吐槽
这次onsite 体验真的是太糟太糟太糟了!!!!跟公司没关系,组里人不错,做的东西我很感兴趣,想着跳槽就是要找个喜欢的组,但是我运气太差,纽约不是下雪嘛,好了,我从西雅图飞过去,本来时间就够长了,一觉醒来就听到机长广播,说天气原因jfk拒绝降落,所以降落费城机场,我???????过了2小时,终于可以飞纽约了,飞过去半小时,结果,jfk全是各种延误的航班,排队找停机口又找了2小时。。。。等到好不容易下飞机了,公司安排订的limo车居然也xxx堵在路上了,最终到酒店已经凌晨2点多了。。。。

酒店很棒!! 我想着洗澡赶紧睡觉,早上是10点的面试,然而大晚上的水居然不热了!!这可是下雪天啊!第二天早上华丽丽的感冒,嗓子冒烟,起晚了也没吃早饭就开始面这个小项目,脑子都是懵的状态,做完都很晚了,中饭也没吃几口,剩下的几轮几乎没时间面完,因为给安排的3点多的车去机场,我想着能不能面完,然后改签多住一晚上,头疼而且整个人都不在状态,不行。。。只好草草面了2轮结束,赶去机场。。

回程又xxxx晚点了至少三小时才起飞! 这次onsite基本都在坐飞机了,有这时间我都能回国了还跳什么槽

回来的时候我就在想,我到底是发什么神经,去这么远的地方面试,而且我在西雅图的交通费也没说给报销,想想当年毕业面现在的公司,也是飞了5+小时,但是安排了两晚住宿。。。

这两天作息太乱,今早起来脸又过敏了,唉。。。。

话说我在jfk等车的时候,旁边一英国老太太,等车也等了好久,跟我抱怨,不知道这个国家是怎么回事balabala,23333,反正我走的时候,她还在等

无意义的吐槽完毕

1 Like

我就一个问题,好好的西部不待着,面什么东部的公司。我以前都是东部往西雅图飞去面试。

以前在东部上学嘛,所以觉得回东部也没什么。。唉我也觉得脑子抽了在那没事找事,现在就想好好呆着或者面面本地的公司好了

看到你的头像瞬间以为是我家那个傻儿子。这货在西雅图和我女朋友待着,怪想他的。