Truly


  • Home

  • Archives

反思一下自己

Posted on 2019-10-27 | In 日常

是感觉需要写点东西了。
近来看《曾国藩的正面和侧面》,对其为人做事的一些原则有了一定的了解,同时对晚清的士林有了一定的认识和了解。
他是一个很善于反思和自省的人。所谓以人为鉴可以知得失,我感觉自己也要向他一样多去反省自己。

浮躁

其实自己最主要的问题,就是浮躁,难以沉下心来做事情。还有就是做事情会犹豫不决,不够果断。
浮躁的话,需要慢慢去历练自己的心性,耐下心来,静静的去做好每一件小事情。需要时间没有那么容易。
浮躁常常生于压力,换句话说如何去面对压力呢。有压力是因为有所顾虑,会思考得失,但是,越是有得失,越是需要放下得失,
专注做好眼前的事情,反而可以兼顾得失了。简单的说,就是不用想太多,从简单的事情开始去做就好了。

优柔

不够果断,常常是因为一些事情不明,难以决断。所以,努力的点是,多去看,多去问,多去思考,把事情搞明白,然后下决断。

刚而易折

感觉自己是有很强烈的求取心。这当然是好事情,但是,强烈的求取心遇到一些困难,自己就容易被打击。
其实,自己要去学会接受失败,学会接受自己的不完美,目前来说,自己和自己的目标的确是有很长的距离。但是方向对了,一点一点的前进就好了呀。

路漫漫

Posted on 2019-10-24 | In 日常

加了一个月的班,感觉最近身体都虚了,工作效率也不高,诸事不顺。
开始重新制定接下来的方针

  1. 饮食:戒糖,多吃果蔬,少喝饮料多喝水
  2. 运动,开始恢复和同事weekly的打球,以及自己周末可以和同事一起hiking,平时也可以下午的时候去公司附近跑步,然后回公司洗澡
  3. 由于身体原因,不像之前一样长时间工作了,9点休息,不看电脑
  4. 每天抽一个小时看同事代码,所谓磨刀不误砍材工。

论效率

Posted on 2019-10-15

曾国藩

Posted on 2019-10-13 | In 思考

最近在看《曾国藩的正面与侧面》作者是结合时代补充曾国藩家书的细节,旨在从他和他家人相处中看看他的其他面。

debug小结

Posted on 2019-10-13 | In tech

写代码的时候,遇到bug然后debug总是痛苦的,下面讲讲自己的一些点点心得和踩过的坑:

What

其实遇到bug的第一步是要知道这是什么bug,之前遇到一个bug说是
NameError: name ‘cv2’ is not defined,然后和这个bug:ModuleNotFoundError: No module named ‘cv2’搞混了
然后自己focus都在这个环境里面为什么没有opencv-python。
其实NameError: name ‘cv2’ is not defined,就是代码里面没有import cv2,知道了错,查了一下code就马上fix了。
所以,遇到bug,多花点时间看看error message是什么很重要,因为大方向要是搞错了只会南辕北辙。

Why

知道了bug的含义,然后耗时间的就是,是什么原因trigger了这个bug。虽然有时候,bug本身的含义,能直接让你去fix,如上面的例子,但是有些时候,问题复杂了,就没有那么容易直接看出来了。

有时候就需要你有一些猜想,合理的猜想可以有些一些角度:1. 代码的逻辑问题,2. 依赖包的版本问题,3. 环境问题(环境变量问题,driver问题,docker的一些flag的问题),4.自己忘记和code base sync了……
但是要注意,当你给出自己的一些猜想的时候,你不要去钻牛角尖,适当的时候要摒弃自己的这些猜想,因为有可能是错的。我自己常常就陷在会在自己一些开始的猜想里面,出不来。
所以,我感觉需要有一个自觉,需要想一想自己此刻的assumption是什么,有这个自觉很重要。

How

  1. 找到简单,易行的测试的办法::
    之前是de云上面的一个bug,非常复杂,总是基于很多guessing去trigger一次又一次job,每次跑一次都要很久,fail了之后,又要重新起机子,浪费了很多时间。后来意识到,可以在本地(或者在起一个一样type的机子和settings)mimic一个一样的环境,然后自己log in那个机子,去复现上面的操作,最后极大的加快了debug的过程了。

就是你要静下来想一想,有没有什么好的办法去debug,或者用gdb,或者说自己模拟一个环境之类的。我们的目的是要快速有效的解决问题,很快找到简单易行的方法很重要!

  1. 找同事,一起debug:
    找同事的目的也是为了可以和同事一起更快的解决问题
    找同事前:
    在自己知道what,why,google了一圈,然后试了一些方法后,还是没有解决,可以去找同事。因为你在自己做了一些前期工作后,可以更有效率的和他们交流。
    找谁:
    你需要找一个在这个问题上面比较有经验的人,bug所对应code blame的那个同事会是很好的合作对象,毕竟code是他们写的,他们可能遇到这样类似的问题过。
    合作:
    一起讨论一起交流一起解决,两个人合作解决问题,有思路的碰撞,可能就能更好的解决问题。

  2. 找其他可以替代的solution:
    有时候你可能需要直接刚这个问题,比如说要对应的源码,
    但是也许你可以用替代的方法,比如说我用cv2不行,我也行可以用pillow之类的。
    看问题的价值和紧急程度了。

cpp-Autonomous-Driving

Posted on 2019-09-28 | In cpp

总是有人说cpp的水很深,它浩如烟海,如何去面试里面去把握呢,鄙人不才,我感觉可以从面经入手,于是我就找了
这些无人车公司的面经,进行整理

公司

waymo, cruise, zoox, nuro, pony.ai, tusimple, aurora.ai, argo.ai, velodyn, uber ATG, bosch….

知识点

指针大小,指针和引用的区别,‍‍‌‌‌‍‌‌‌‌‍‌‍‍‍‌‌‍virtual function(pure), copy constructor, smart pointer(zoox), effecient vector (nuro),

on-going

Posted on 2019-09-15 | In 思考

新的开始,新的问题

公司新成立了一个组,负责很重要pipeline,感觉有新的机会,我就转了过去。

  • 为什么呢?
    虽然,之前组做的事情是现在很火的机器学习,计算机视觉,但是只是公司的一个模块。
    这个组可以很宏观的去全面了解公司业务技术。
    人少能做的事情应该会很多,晋升的空间也会很大。
    对于我这样子entry-level的engineer而言,是个不错的选择。(当然in more details我就不讲了,涉密)

当然,我也开始迷惘了。开始去思考自己未来走技术track的成长路线了

  • 想成为tech lead或者director成长路线是怎么样的?
    我把这个问题拆分成两个问题:
  • 是选一个方向一直走下去吗,成为这个方面的专家吗?
  • 在新组我又何去何从?

尝试自己去回答这些问题

上面第一个问题是一个long term的问题,我目前也没有能力去回答这个问题。
也许在新组稳定,自己技术也有新的积累,对公司业务有更深的认识后,我还会再rotate一次。

对于第二个问题是short term的问题,我就找了我mentor,CTO,CEO请教了一下,
这里我讲一讲CEO的建议,他结合自己以前在google,apple,baidu当tech lead的经历(能直接和公司高层对话,这就是在startup的福利了):

  • what/how/why

    • what
      就是正常完成你的任务,可以交差,就是在公司里面survive。
    • how
      就是如果你交差了,还有时间,你可以去思考思考有没有更好的solution,研究比较不同solution之间的利弊,选出更合适的一个。到这一步,你就开始thrive了。
    • why
      去思考为什么要解决这个问题,去根源分析这个问题。
      涉及how/why的时候,你就不仅仅局限在自己环节了,你可以针对这个具体的问题,深入到看上下游的东西。你就会越来越有insight, 能找到如何做出对公司更大的impact了。
  • 尝试去fire yourself
    有人工做的事情,就用程序去解决,去解放自己,就省下时间去做别的事情。
    当CEO也是一个道理,开始什么都管,后来招了管招人的,管理的,把自己从这个岗位解雇掉,就有时间去融资,谈客户了。

未来的策略

  1. 大方向来说,就是向我们CEO说的,先在我们组survive,然后thrive。
    之前就是做了太多加法,不够专注,
    感觉现在要做减法了,业余时间多去思考思考自己面对问题上面的how和why。

  2. 细节一点就是好好和自己mentor 1 on 1:

    • 知道他expectation
      • 给我工作上面的feedback
    • 和他说我的expectation:
      • 要更essential的task
      • 要升职
      • 要加薪
  3. 和上下游组好好合作
    上周开始和临近一个组讨论优化pipeline里面的一个bottleneck,应该会是很有意思的合作。

入职5月小结

Posted on 2019-07-14 | In 思考

叨逼叨

“学而不思则罔,思而不学则殆。”
– 《论语》
掐指一算,我入职已经5个月了。感觉很难想象几个月前还在CMU CyLab跟着师兄做无人车的项目,还和那群Phd们说说笑笑。
没想到已经过去这么久了。下面想讲讲这段时间自己在工作上的一些思考吧。

学校和公司

总的来说,是两条线,一条是还是想解决实际问题,另一条是和这个要解决问题相关去寻找research的点,最后还是想发文章的。
但如果在公司解决这个实际问题的过程中,如果在公司里面满足OKR(object key result)的requirment了,我们就可以收手了,也不会去发文章。(不排除像tusimple/Uber ATG/baidu无人车等公司也会发文章)

公司的话,我们是要有营收和对客户负责的,学校里面的项目更多的是一些funding提供者想让这个实验室去探索看看会有什么效果,侧重点还是不同的。

学校里面主要协作的是学生,Phd和master或者本科生还有带头的教授,公司里面是一群engineer。学校里面的传带效应就很明显,如果老师很强,能培养一个很强的phd,会传带下去。但是如果这个phd走了,somehow会对后来的人有所影响吧。然后,学校里面感觉Phd更多时候还是自己去solo。但是公司的话,毕竟是一个更成熟的组织,document还有的流程会更规范一点。团体协作会更高效一些。

还有就是钱,实验室的钱感觉还是感觉会有限,老板总是会很抠。公司钱多,机器多,搞深度学习的什么的,就很舒服了。

(以上只是从我有限的经历里面去归纳的,因为经历有限,自己的结论和分析也难免有局限性。)

个人的职业道路的思考

总的来说,未来10多年,我想我都会投入到无人车这个行业里面,奉献自己的青春吧。能来到湾区真好,简直是无人车的天堂。

未来几年而言我会一直在我们公司,希望能为我们公司发展尽一份自己的力量。

自己现在摸了几个月的鱼,大概知道公司不同组是做什么,和自己组的主要任务了。我们组是perception,主要涉及深度学习,一些传统computer vision算法开发和相关的pipeline到production上面的deploy。

自己话目前是在做deep learning和dl的infra吧,短期是希望把deep learning在工业界相关的module都做一遍,还有希望自己可以从头到尾搭一个DL的pipeline。

在之后是希望可以不仅仅只做deep learning相关的module,组内其他的方向也尝试一下,如果不能从头到尾搭一个pipeline,那就争取和同事合作完成。

在之后是希望可以和其他组的人合作,开始去接触和熟悉公司更大的pipeline的上下游。在startup的好处是,你是可以从头到尾接触一遍公司的东西。

无人车行业的展望

无人车其实我感觉是AI里面的半壁江山吧。未来20年甚至30年,会有越来越多企业公司投入进去,这个行业也会越来越去影响人们的生活。

细分和落地是这个行业的趋势。做sensor的做sensor,做地图的做地图等等。L1-L3/ADAS(辅助驾驶系统)开始越来越成熟。
小场景(无人送快递nuro、菜鸟物流等),相比城市内更容易的场景(highway上面重卡 tusimple,plusAI等)。

无人车公司和车厂的合作越来越密切了。waymo其实不久前在底特律搞了一个site,底特律这么多车厂想想也知道为什么waymo这么做。

投资者还是很有耐心的。你看看软银在这个上面投了多少钱。

区域化。全球各个地域都开始兴起,尤以美国和中国为最。

具体就不展开讲了,当然也很久没有follow一些时新的信息了,粗粗总结了一下。

对于无人车自己还有很多很多想讲的,以后我会慢慢讲。

FSAF_single_shot_object_detection

Posted on 2019-06-30 | In computer vision , deep learning

Feature Selective Anchor-Free Module for Single-Shot Object Detection

Abstract

We motivate and present feature selective anchor-free
(FSAF) module, a simple and effective building block for
single-shot object detectors. It can be plugged into singleshot
detectors with feature pyramid structure. The FSAF
module addresses two limitations brought up by the conventional
anchor-based detection: 1) heuristic-guided feature selection;
2) overlap-based anchor sampling. The general
concept of the FSAF module is online feature selection
applied to the training of multi-level anchor-free branches.
Specifically, an anchor-free branch is attached to each level
of the feature pyramid, allowing box encoding and decoding
in the anchor-free manner at an arbitrary level. During
training, we dynamically assign each instance to the most
suitable feature level. At the time of inference, the FSAF
module can work jointly with anchor-based branches by
outputting predictions in parallel. We instantiate this concept
with simple implementations of anchor-free branches
and online feature selection strategy. Experimental results
on the COCO detection track show that our FSAF
module performs better than anchor-based counterparts
while being faster. When working jointly with anchor-based
branches, the FSAF module robustly improves the baseline
RetinaNet by a large margin under various settings, while
introducing nearly free inference overhead. And the resulting
best model can achieve a state-of-the-art 44.6% mAP,
outperforming all existing single-shot detectors on COCO.

求职记

Posted on 2019-02-16 | In 思考

叨逼叨

山重水复疑无路,柳暗花明又一村。 — 《桃花源记》

马上就要入职了,感觉还是想总结下自己这半年的艰苦求职路,希望对后来的人有所帮助吧。

我是18年5月份毕业的,那个时候还是有想读博的冲动,所以最后一个学期一直在找老师,想做ML/DL的research。大概是5月底,我找到了我们系的无人车老师Raj(CMU DARPA challenge的元老之一、Aptiv founder之一,现在已经卖给了Delphi),并开始在他的Phd. 炜劲师兄的带领下开始做Research。在此,我要谢谢实验室炜劲师兄、孟文师兄,还有CIC的众Phd. 们,松鼠山车神辰哥(祝贺辰哥喜发CVPR2019)、天龙师兄、龙嫂、淼哥(前饿了么第四号员工),淼嫂、星哥、星嫂、小唐、小恬恬、GAN神子南,还有我的室友亚飞、小宏、小易,还有谢谢学妹小雷同志(下文会讲到很多她的例子)。

在实验室干了一段时间,然后大概是在6月底,我渐渐开始有了找工作的想法(对,我就是善变的人),感觉真要做无人车这个方向还是去工业界比较好。

In summary, 一共投了几百封简历,拿到30多个面试,6个终面,其中5个onsite,最后只有一个offer(当然由于心累,拿到不错offer后,有个onsite就取消了),历时半年。

选一个方向

虽然有人说,找工作还是要多投,不同的岗都投,但是我感觉还是需要一个focus。另外,不同的岗位要求也是不一样的,你应该没有那么多精力去准备不同的岗位。当然,大公司,基本是统招SDE (software development engineer)。但,总的来说,还是要focus一点。所谓“子曰:吾道一以贯之。”我的话,我SDE就投了google,其他就只投deep learning/computer vision相关(或者无人车相关公司的perception engineer/deep learning engineer)的岗。这样子做有一个好处是,面多了,发现其实这些公司考察的东西就比较类似,可以重复利用的面经了。

投递的sources

投递的源,有很多,careerfair/TOC,找校友内推,找linkedin 内推,官网海投,还有一些帮助找工作的网站handshake(CMU的找工作平台)、indeed、一亩三分地等等。

我感觉最重要的应该还是careerfair/TOC,就是校招。
如果走校招的话,对比正常的面试,进度会更快点。一般来说,一个公司从一面,二面,到onsite(也许有三面)至少也要一个月吧。一般来说走校招,有on-campus面试顺利的话,可能两周时间你就能拿到offer了。当然如果公司on-campus面了你一二轮,你后面onsite的话轮数也比正常onsite的轮数会少点。你也可能听过一些疯狂的轶事,就是on-campus当天面,当天发offer(我面过国内两家公司校招,就是on-campus一轮给我offer,当然国内和美国这边的面试流程还是会不一样的)。

然后是找内推。
找内推有一点要注意,就是你海投了,应该不方便找内推了,因为你的简历已经在他们公司的简历pool里面了。
然后,找内推的话可以联系自己的校友。校友资源这点上,CMU还是很有优势的!多联系,多加微信,多social,多认识认识很重要!他/她可能是你上这门课的TA,也可能是和你一起上课的坐你身边的同学,也有可能是一起和你去office hour的问问题的人。他/她如果比你早毕业,那在你毕业的时候,他/她入职工作一段时间了,就可以refer你了。

下面我重点讲讲linkedin的使用。
对我来说,linkedin真是求职神器啊,我有三个onsite(两个computer vision research岗,一个和推荐有关的data scientist岗,虽然都挂了QAQ)是从linkedin找的。
一般来说linkedin有两个用途,第一个就是linkedin上面会有po岗位,这个让你对这个公司的招聘会有个数,会知道“哦,这个公司现在还招人”。你可以关注你感兴趣的公司,他们如果有你感兴趣的岗位po出来,你第一时间就会收到提醒,然后去投递。
然后,更一般的用途是加人内推。你也可以联系你感兴趣公司的engineer,manager,recruiter,当然包括你的校友。你去ping他们,和他们说你对他们公司感兴趣,好好自我介绍一下。如果这个公司的这个recruiter没有回你,你就ping他们公司的其他人。
这里提一下linkedin的小技巧,就是你可以在search bar搜“hiring”、“hire”。你就可以看到一些recruiter名字上面有“we are hiring!”的字样,这样子的recruiter我感觉ping他们成功率会高点。

技术面试的准备

一个技术面试的考纲应该就是这个公司这个岗位的job description了。
具体在面试考核的时候会考察基本的coding能力、专业知识基础知识和做过的项目(简历)。还有一些公司会考察你的应变能力,他们会根据他们公司的场景给你出个题,看你如何去解决这个问题。

coding能力的一般体现就是刷题。
关于刷题主要是两点,一点是数量,另外一点是质量。
数量的话,我感觉200道是一个底线吧,到了300-400的话差不多面试就不虚了。然后是质量,这点主要是需要你对基础的算法和数据结构有很好的掌握,对不同类型的题目都有很好的总结。你也会有一些常见题目比如:dfs,bfs,binary search,two pointer等的解题模板。遇到新题目的时候,你可以根据这些去解。

对于一段时间没有刷题想找感觉的tips是可以先刷老题和刷easy题找找感觉。

然后关于刷题话很重要的一点是mock interview,你最好找一个和你一起找工作的partner,regular地进行mock interview,比如一周一次或者两周一次之类的。mock interview的好处是,你能发现自己临场的一些不足和一些刷题上面的盲点,和积累一些communication的经验,这将对未来的onsite起到重大的帮助。

专业知识的考核,我感觉准备起来主要是两点,一点是你需要系统的复习一下你上过的这个方向的课程内容,抓出主要的知识脉络;另外,就是找下面筋看看这个方向面试常考的问题,比如在考察Deep Learning的时候,面试官很喜欢问BP,gradient descent、LSTM、drop-out、batch normalization等,面object detection,需要知道RCNN,Fast RCNN,Faster RCNN,YOLO,SSD等。我的话,在CMU是上过相关的课,然后在准备的时候也在coursera上面刷了一些Andrew Ng老师的系列课程,他不愧是一个普及AI的教育家。如果,你没有上过相关的课,可以上coursera找找课,或者时间特别不够,那就只能看看面经了。

当面试官考察你简历上面项目的时候,就有很多可以讲的了:
他/她可以考察知识的深度,抓住你项目涉及的知识点,往深里面问这个知识的基本原理、假设、适用的范围等等;他/她可以考察知识的广度,就是你项目要解决的这个问题,常见的有哪些其他的方法,或者你可以想到哪些其他的方法,让你比较这些方法的异同、优劣等等。对此,我的对策是把项目上涉及的所有论文都好好看了一遍,整理了一遍,都是锦绣文章!!!特别是CV男神凯明的文章,简直美如画!!!
对项目的考察除了考察知识,还有会考察很重要的一点problem solving的能力:
面试官会问你在这个项目里面遇到了什么问题,你又是如何去解决的。如何你本身就好好的参与到这个项目里面,去当担,去解决,那在考察这个点的时候,你就不会虚。你能细致入微的讲出你是在什么情景遇到什么问题、你是如何分析这个问题找出原因、你找出原因到你如何思考解决方案以及你又是如何去实施你的解决方案,那你就可以很好的体现你的problem solving的能力。

我上面也提到面试官也会给一个他们公司场景的问题来考察你。这个和考察项目有一定的相似之处,会看看你problem solving的能力,但更看你临场应变以及和“同事”交流的能力。毕竟,考察项目是一个你已知的,临场给的问题可能是你未知的。

简历的准备

上面提到一个技术面试的考纲应该就是这个公司这个岗位的job description(JD),对简历来说也是。
你的简历和JD 越match越好!!!写简历和改简历都应该参考JD。

这里有几个原则:
顺序:就是越重要的projece或者experience月需要放在前面。然后skill list里面的language和技术栈也是,JD里面明确要求的,就放在前面。比如JD里面说,proficient in c++,那你本来language list是Java、Python、C++,就应该调成C++、Java、Python这个样子。
详略:越是重要的project或者experience,就要用多一些篇幅去介绍。要讲清楚自己用了什么技术栈,什么模型解决了什么样子的问题,得到了什么样子的结果(最好有一些数值指标)以及自己在这个项目里面起到了什么作用。如果不重要或者和JD不相关的项目,可以去掉或者很简略地去介绍,不要喧宾夺主。
还有,注意写明自己的毕业时间,这点会让招聘的人对你什么时候能入职心里会有个数。

简历的修改:
JD虽然是一方面,但是你也会有其他的途径。
其实,面试就是一个很直接的update简历的“tool”,在经历一些面试后,你就会知道对于这个方向,这些相关的公司更喜欢什么,你可以根据feedback去及时修改简历。
给你投的这个岗里面的engineer看看(一般最好找熟人),要一些feedback,他会和你说他们公司技术栈的倾向,比如你在简历里面提到自己用go写项目,但是他们公司不是很喜欢go,那你就可以去调整这个简历了。
(感觉在careerfair的时候,应该也可以和manager、engineer、HR他们聊,要一些feedback。)

一般你简历拒,那就是要改简历了。另外,改简历其实是永无止境的,你不要感觉自己这版简历就很好了,一定总是会有瑕疵的。就我个人而言,一共改了100多版简历吧。到后期,我准备了一个project set,把自己做过的project都放在这个文档里面,然后根据不同公司不同要求,去选或调整自己的project,在去生成一个specific的简历,这样子会省一些操作的时间。

关于简历的模板,我感觉九章算法的模板和Leap.ai的模板就挺好的,大家感兴趣可以去看看。

校招的一点建议

个人对校招的理解是,公司对target学校招人,然后他们希望在短时间内,在campus中找到符合他们expectation的在校学生
有些公司,对于new graduate,甚至只有校招的渠道
你在校招的expectation就是拿到你心意公司的面试,甚至直接on campus的面试
所以你需要尽可能多的,有效率的投简历,同时需要在你的同学当中脱颖而出

  • 校招前
    查公司的信息,你可以找几个同学组个队,一起share一个google doc查来校招公司的信息
    准备一下自我介绍可以和同学练一练,以期短时间把自己介绍给recruiter
    针对target公司,target岗位,要事先准备好简历,当天去打印简历的话,排队排死你
    我之前是会准备几套简历,web相关的简历,computer vision岗相关的简历,以期拿到更多面试
  • 当天
    早点去排队
    先排之后排队会巨长的大公司》心意的其他公司》不是很想去的其他公司
    像我找无人车的岗,我就可能大公司投一下google,剩下就是zoox、nuro、tusimple、cyngn、deepmap等等,
    然后再是其他的公司
    要下recruiter的联系方式(名片),以方便follow up,如果是中国人,直接要微信
    结束了还可以跟上去帮个忙聊一聊啥的,套套近乎
  • 如果拿到面试
    网上搜一搜面经和同学一起准备一下,behavior question短时间也可以适当准备一下,详细可以参考我下面的的section:
    HR面/behavior questions
  • 校招后
    因为,对于公司而言时间很短,他们不可能在这么短时间内面完所以的candidate,他们只可能会面完他们最感兴趣的人,
    所以你只要投了简历,就还有可能拿到面试,你上面的follow up就可能会起到作用,
    如果这个recruiter没有那么nice,你可以找校友,上linkedin里面找这个公司的人去follow up,问下进度

找内推前你需要做的事情

为了方便找内推的人,当然包括我,我特意在这里加了这个section,希望你在找内推前先:

  • 在target公司找到target岗位,找到job ID还有job的title
  • 根据这个具体的岗位的job description(JD)先自己改一遍自己的简历,突出JD里面需要的技术栈,详细可以参考我上面那个section: 简历的准备
  • 写一个第三人称自我介绍,大概讲一下自己的背景,内容就像电面的时候面试官问你让你简单自我介绍一下
  • 把job ID/job title, 简历,第三人称介绍发给你要内推的人

HR面/behavior questions

这里的话,有个建议就是,好好了解这家公司。
如果临近面试,你突然感觉不想刷题,也不想准备基础知识了,但是还想做点啥,那就了解这家公司吧,因为短期刷题不一定遇到原题,复习基础知识也不一定考到,但是短时间的话就可以好好了解这家公司,性价比反而是最高的。你要想啊,这是诚意的体现:如果你是HR或者面试官,面一个人,对自己的公司都不了解,你是不是感觉即使这个人很厉害,招进来,之后也可能留不住他/她。了解这家公司,本质上是去寻找对这家公司的认同,认同他们的商业模式,认同他们的文化等。
既然讲到了要了解这家公司,那我们从哪些渠道去了解呢?首先是官网,你好好看一看,可以看一看这家公司的slogan,面试的时候说出slogan也许会给面试官或者HR留下好印象,当然有朋友和我说,会有面试官问解释一下slogan的含义,这个可以注意一下;其次,是看看这家公司的新闻,google一下就行了,浏览一下也很快的。
总之,了解这家公司应该是准备behavior questions最重要的一点了。

time schedule

Time schedule 其实很重要,自己之前有一周面了11家公司,结果有两个特别想去的因为时间太紧了没有准备好(or状态不好)挂了,特别桑心 (~_~)。这里,自己把自己push太紧了。其实,很多人都会这么做,赶紧投,赶紧面。但是,既然你拿到一个面试了,就是一个好的机会,就要好好地去珍惜她/他。特别是,在校的学生,当你有courses(exams、homeworks),如何去协调这些和面试,就将会一个大问题。举一个我学妹小雷同志的栗子,她那一阵子找工作上面了有ebay onsite,亚马逊的VO,Bloomberg的offer DDL,课业上面,先是我们ECE学院的一门期中,之后还有一门重课parallel programming的due。然后我给了一点建议给她,讨论了一下。

过程是这样子的,先看课程相关的这两个的时间点,然后建议她给一下bloomberg HR推一下的DDL,最后推了两周。然后再在里面插空,插入ebay onsite时间和亚麻的VO,然后和这些之间间隔不要太近。最后的schedule是:

然后她最后就5杀(下面一个section会继续说哈)。

当然,既然提到time schedule,courses和找工作的balance也要提一下。courses主要是学东西,有些同学来到CMU就迷失在课程的海洋里面了。学东西自然重要,但是找不到工作不是都白搭吗,有的同学最后一个学期会选了很多重课(当然不排除大神),导致自己没有很多时间去投简历和准备面试。但其实,你只要上岸了,海阔天空了,什么诸子百家、四书五经,随便你学!!!!

communication

关于这点,我感觉你需要明白,你communication能力体现的是你未来如果成为彼此的同事时,你有没有更好的合作意识,以及能不能相处的舒服。我感觉如果你比较刺头,让面试官不舒服,同等条件下面试官应该更倾向于招那个让她/他感觉相处起来更舒服的那个人吧。

offer negotiation

提到offer negotiation就有意思了。下面还是以我学妹小雷同志为栗子,如何骑驴找马,从拿到校招bb offer最后到拿到fb offer的,最后疯狂compete的。她是先校招拿到bb的offer后,推迟ddl,然后后面,就是面ebay也好,亚麻也好,还有oracle也好就是和hr说自己有pending offer,然后她的case就process特别特别快,像滚雪球一样。然后,关于fb,其实她之前简历被拒了,但是我和她说改个邮箱换个名字再投,然后是找我房东fb大哥重新refer,refer的时候就业提到她有拿到好几个offer了。然后后面她去面,其实当天她面完和我说,面的不好,小姑娘还哭了。然而,之后还是拿到offer了,也许是前面的这么的pending offer起到了作用。总之,努力的人,是上天不会亏待的。一路能看到她为了fb付出了多少多少。

实习

H1B

心态

我感觉找工作的过程是对心智的一个磨炼。你会患得患失,你会想放弃,你会自己一个人自闭,你会想哭,你会开始抱怨生活,特别是我这样子的人,同学已经工作半年了,学弟学妹们都找到工作了,我才开始找工作,还要做research,一边申请博士。我就开始常常心情不好去投篮,我很喜欢球进的那个应声入网的声音,很清脆,会在操蛋的生活里面给我一点点安慰,还有自己在家里压抑的时候,就会来学校,学校空间大,师兄弟姐妹们都在这里,陪我说话吃饭,还有回家有室友会陪我说话吃饭,还有父母常常和我打电话。自己心里才能坚持下去。渐渐的,自己开始不去看得失了,只在意自己今天收获了什么,进步了什么,总之自己是一直在进步的。火候到了,时候自然会到。坚持下去不是很有趣的一件事情吗。

1…345…17

Chu Lin

去人迹罕至的地方,留下自己的足迹。

166 posts
17 categories
94 tags
© 2022 Chu Lin
Powered by Hexo
|
Theme — NexT.Muse v5.1.4