刚刚收到Cerner的offer。因为有个team直接要我,所以直接给了software engineer的package。71000底薪,5000签约费和3000搬家费。
Timeline
8/6 recruiter在linkedin看到简历,电话联系。
确认了一下简历上的内容,发了份最新的简历过去。预约了第一轮电面。
8/13 senior recruiter第一轮电面。
再次确认简历内容。
behavior question。
问了一个设计Address的设计问题。
给了onsite。因为公司程序员出差去了,直接推到两周后。
8/28 onsite
8/27的飞机,提供过夜。在Sharenton hotel住了一晚。 不是experience cerner day,可能是因为不是周三周四(通常都是周三周四),没有逛,没有欢迎会,也没有早午饭。但是。。。
cerner挺有钱的,随便叫客房服务,第二天checkout直接全划他们帐上去了, 干的漂亮。当时还以为会影响后面的面试。
7点45就在酒店楼下集合出发,去的是南边的一个innovation†campus。面试很赶,因为中间少了一轮video面,所以直接三轮,
每轮一小时。早上9点半开始,最后一轮拖了15分钟,快12点才出来。
出来之后直接送机场,也没有体验一下午饭。
三轮的technical question
- Allergy class
让你设计一个类来表示一个allergy。一个allergy可能有各种sympton和reaction。一个allergy可以由一个病人或其亲属来report。
一个allergy有它的严重程度。
- Medicine schedule
一个病人要吃药,吃药的pattern有很多:吃n次,吃n天,余生都要吃,按需吃。给你一个start date,让你输出一个schedule包含每次吃药的时间。会给一个他们自己的Calendar类的文档让你来操作。
各个日期还是用Date类存放,文档里可能会缺乏Calendar对Date的转换。面试之前最好对java 1.7和 1.8的Date, TimeZone, LocalDate, Calendar和SimpleDateFormat†之类的接口了解一下,实际码一码。有可能还有设计Birthday的问题。
- Temperature class
给病人测体温,病人的体温一天内会有一度的波动,各个病人的体温也不同,体温可以由不同单位表示,可以由不同部位测。
如何设计一个体温的类。如何判断一个病人是否发烧。
好像最近所有人都是面的这三题,或者vedio面第一题,onsite面后两题。glassdoor上还有更多的题目描述。都是ood。
encapsulation和enum多用就行,其它pattern啥的其实没啥要求。多和考官交流。
白板很小,要仔细规划一下再码。
三轮都会有很多behavior question。每个面试官问的点都不太一样。只要体现出积极的意愿即可。很多时候都会问关于简历上的东西。多说说自己的经历。回答问题要从经历里举例子。
面试官基本都是team†leader。各个组做的事情差不太多,基本前后台什么都写。web为多,native开发较少。
Cerner据说每年都有一个starwars主题的conference,可以展示自己的研究成果啥的。
最后是dress code:
面试一定要着正装。这一点看来很重要。
补充内容:
说错了,9点半是两轮的onsite,我是8点半开始的。