{"componentChunkName":"component---src-templates-story-post-js","path":"/zh/stories/2017-05-02-art-history-bloomberg/","result":{"data":{"site":{"siteMetadata":{"title":"LaiOffer","description":"Develop technical knowledge. Improve programming skills. Build your career in software engineering.","url":"https://www.laioffer.com"}},"currentStory":{"edges":[{"node":{"title":"我是艺术生，但我拿到了Bloomberg的程序员offer","path":"/zh/stories/2017-05-02-art-history-bloomberg/","id":"aef82f05-f0bf-5089-aabf-3de89094d7f3","name":"Jiaqi Liu","contentful_id":"7mG9I0sq7CMSqk4SGO4k40","date":"2017-05-02T12:00-07:00","featured":false,"node_locale":"zh","academicBackground":"NYU | Art History","class":["软件工程师旗舰核心课程","全栈开发项目实践课程"],"offer":["Bloomberg"],"description":{"description":"从艺术史专业，到Bloomberg软件工程师，我一直觉得很不可思议。来Offer的课程不仅为我打下了坚实的CS基础,帮助我丰富了简历，还通过内推让我最终拿到Bloomberg的面试。如果没有报名来Offer，我是很难很难成功的。"},"thumbnail":{"id":"9f39017a-57fd-5a6f-984c-55b36491faab","resolutions":{"width":480,"height":270,"src":"//images.ctfassets.net/04k2xg9gplcj/r5xyTlbQxqMkWEcwaK0O4/a4ecbf1e84694b7882789f027ce7b5ad/art-history-bloomberg-thumbnail.jpg?w=480&h=270&q=50&fit=fill","srcSet":"//images.ctfassets.net/04k2xg9gplcj/r5xyTlbQxqMkWEcwaK0O4/a4ecbf1e84694b7882789f027ce7b5ad/art-history-bloomberg-thumbnail.jpg?w=480&h=270&q=50&fit=fill 1x"}},"thumbnailAlt":"Bloomberg Office","featuredImage":{"id":"57953f22-74b8-5c0e-90e4-3cb640326fd8","resolutions":{"width":800,"height":550,"src":"//images.ctfassets.net/04k2xg9gplcj/dQNpSuwSI0QcGM2iMoQau/d4959f869a38e32bba1238cea0ab2e81/art-history-bloomberg-hero.jpg?w=800&h=550&q=50&fit=fill","srcSet":"//images.ctfassets.net/04k2xg9gplcj/dQNpSuwSI0QcGM2iMoQau/d4959f869a38e32bba1238cea0ab2e81/art-history-bloomberg-hero.jpg?w=800&h=550&q=50&fit=fill 1x,\n//images.ctfassets.net/04k2xg9gplcj/dQNpSuwSI0QcGM2iMoQau/d4959f869a38e32bba1238cea0ab2e81/art-history-bloomberg-hero.jpg?w=1200&h=825&q=50&fit=fill 1.5x,\n//images.ctfassets.net/04k2xg9gplcj/dQNpSuwSI0QcGM2iMoQau/d4959f869a38e32bba1238cea0ab2e81/art-history-bloomberg-hero.jpg?w=1600&h=1100&q=50&fit=fill 2x"}},"featuredImageAlt":"Bloomberg Office","keyTag":null,"body":{"id":"8dddde22-5a4d-53ff-915b-ef51321138b9","body":"20号下午接到了Bloomberg的offer，到现在我都还觉得自己在做梦。怎么说呢，就是觉得，“**啊，我竟然真的能达成这个目标啊！**”，有种非常不可思议的感觉。但我知道，**如果没有报名来offer，如果没有各位老师的教导和帮助，我应该是很难很难很难成功转行的。**\n\n先介绍一下我的背景 。对于老师们来说我绝对是学员里的hard mode。本科的时候读过一年computer science，后来转读Art History去了。研究生期间也继续选择了Art History。结果毕业前好几个博物馆出现财政危机，整个arts行业一片hiring freeze。尤其当时又决定不读博了，真的是不知道何去何从。\n\n![art-history-1](//images.ctfassets.net/04k2xg9gplcj/7sHTOKjxJeWEOa4aCkagqK/6633cef8c699828ed1e0a4f75123a58b/art-history-1.jpg)\n\n和好多亲戚朋友商量过，大家都提议说要不就转行吧，转回CS说不定机会还多一点。可是我真的是什么都不记得了，不记得怎么写程序，不知道OOD是什么…\n\n真。的。什。么。都。不。懂。\n\n朋友当时建议我看一下Head First Java入个门，然后就报来offer的课程学回来吧。\n\n报名的时候是真心是抱着试一下的心态的，想着反正我的背景很可能老师一看到就放弃了，怎么也没想到孙老师当天下午就打了电话过来。老师那天和我聊了大概有一个小时吧。我到现在都记得老师和我说，（大意）**来offer不guarantee jobs，但是努力的话，就能达到目标。**我向来都是trigger pull得超级快的性格，一周内就报名了。\n\n现在想想，**当初真是做了一个无比正确的决定**。\n\n我是16年秋季班开始上课的。刚开始上课的时候，有两次都不小心miss了课。过后找孙老师要录像的时候被严肃教育了。现在回想起来还好还好我过后再也没miss过。因为**上课的时候同步带来的那种氛围和注意力和看录像完全是两回事。**\n\n在课上听孙老师讲题学的不只是怎么解决这些问题，还要学会怎么make reasonable assumptions，学会怎么接hint（面试的时候面试官大部分都是愿意交流的），学会怎么解释思路，学会怎么过例子。\n\n![art-history-2](//images.ctfassets.net/04k2xg9gplcj/LNhgeQvWgMKUwSiU4S0Yc/5a90eda98ab0937a0348afab0576e6e9/art-history-2.jpg)\n\n我另外还上了project课。对于我这种简历一片空白的人来说，真的是帮大忙了。\n\nProject课不止是复制代码然后做出一个product，更重要的是了解project里的各种衡量和选择。老师们都讲得非常细，**只要认真听课，面对面试的各种resume问题大多可以轻松过。**\n\n12月中考完期末考后（神奇地竟然考得还不错）休息了两周，我1月4号开始投简历。\n\n1月份的时候找好几个来offer的老师改过简历。因为我的背景很勉强很勉强能搭上前端，所以另外又找苏老师打电话问了一大堆前端面试的注意事项。**当时一直就想，所有老师都这么responsive和responsible真的是太好了:D**\n\n1月和2月期间虽然面了好几个小公司，但是因为各种各样的原因（具体略过），都被拒了。2月底的时候整个人都觉得非常茫然。 投出去的简历都是石沉大海，networking也不尽人意。意识到自己状态有点差以后我当天就约孙老师打电话商量。\n\n**当时老师就答应了帮我找之前的学姐们内推Amazon和Bloomberg。**第二天就全部安排妥当了（谢谢Zoie和Ying Li学姐帮忙！！！）。\n\n3月中接到了Bloomberg约电面。提前又找了孙老师帮我mock各种behavioral questions。一mock发现真是各种问题。对各种经典behavioral questions我的回答都非常粗糙，显得情商特别低。\n\n老师帮我改了好多问题的回答以后，算是心里有底了。不管电面和店面答起来都有了信心。电面问得非常简单，写完code问了一下time and space complexity。我把孙老师课上画的recursion tree在hackerrank里重现出来立刻过。\n\n19号Onsite，每轮面试（理论上）45分钟，5分钟自我介绍，问问简历，35分钟问各种technical questions，最后5分钟Q&A。讨论题目都是用铅笔和纸 。\n\n![art-history-3](//images.ctfassets.net/04k2xg9gplcj/52YSfJP8dGkaIwq6oQgyuA/cb400f4e91090c17888dbebcd19ea238/art-history-3.jpg)\n\n第一题是常见的类型。我却完全跑偏了。\n\n两个面试官听了一下我的大概想法面面相觑，明显地散发出一种“呃……”的气息。感觉到气氛不对，我又重新看了一下题目，描述了一下解决问题的过程，然后提议用Set+Recursion来解决这个问题。稍微年轻一点的面试官当时就低声说了一句“Right!”（学会接hint和读空气真的很重要）。\n\n题目写出来过后面试官还会问一下要怎么test，以及要我手动跑几个简单的test cases。我根据老师大课上讲题的过程，标出breaking point，一步一步跑例子，没有任何难度。 \n\n第二轮是30分钟后 。\n\n两道题都是非常简单的题目。我一听就内心偷笑，这么简单的题目！大概描述了一下想法，我就准备开始写了。\n\nSignature刚写完，面试官就问为什么这样写。为什么是String不是char[]，为什么是return boolean。写完后分析还问时间复杂度为什么是O(n)，为什么不写O(n/2)，怎么cause heap overflow without causing stack overflow。非常简单的题目，但是问得特别细。 写的过程中他还问要怎么fool过garbage collector不去清理旧的nodes。题都是很简单的，但是这个面试官就是做到把各种概念和联系都问得非常清楚。\n\n虽然面的过程我觉得很辛苦，但是面完真的非常服气。虽然我也有在某code上刷题，但是对于Java的理解都是从大课和Java课上得来的。**面试要面得好，靠得不止是刷题（当然做题也还是要的），基础也要打好，**课上的各种OOD和System Design虽然坊间传闻面entry level不常问，但是有所了解真的很有帮助。\n\n4点45和Manager聊完，recruiter送我出门。临走前还在电梯间碰到了第二轮的面试官。我当时还特别高兴地和他打了招呼，随意聊了几句。\n\n**走出Bloomberg大门已经5点，onsite总共七小时。**\n\n因为我周五就要给另外一家公司答复，周四下午2点多Bloomberg recruiter就打电话告诉我有offer了。下午5点前正式的documents就全部来齐了。这样还能给足我时间去研究terms。\n\n接到offer第一反应就是告诉孙老师。没有孙老师和来offer，我真的想像不到自己能走到这一步。\n\n这篇东西真的写得好长啊（文科生习惯）。总结起来就是，谢谢来offer！大家加油，好好听课！\n\n![art-history-4](//images.ctfassets.net/04k2xg9gplcj/5IXJXCGumkke0y2wwEAw6K/5d011537241563853fbbfe559d63d97b/art-history-4.jpg)"}}}]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"langKey":"zh","pagePath":"/zh/stories/2017-05-02-art-history-bloomberg/"}}}