前情提要
今年打算换工作,换工作免不了就要面试,面试的过程多种多样,但是我感觉这份经历对于广大程序员小伙伴们来讲应该是很有价值的,所以我将把自己的面试经历写出来分享给大家。
这部分内容应该是根据公司来进行分类的,但是出于敏感度问题,个人不会将具体的公司名称写在文章中,会以字母代替,本人坐标大连,Android开发,小伙伴可自行脑补。
招聘渠道及联系过程
BOSS直聘平台
这个公司是自己在Boss上投的,直接投给公司的HR,HR反馈不算快,周末基本不回。但是给了反馈,HR也比较有礼貌。公司虽不是上市公司,但是可以看出比较正规。
首先是BOSS上投了简历,第二天,HR要了电话,打过来聊了一下,大致就是个人的基本情况与现在公司中做的工作,还有就是离职原因。
这些了解清楚了之后,HR会把公司的信息登记系统的链接给你,然后你自己去填一下这个信息。
填完信息之后,第二天告诉我审核通过,再去答一个线上评测的题,分为两部分:选择题和简答题。基本上是考察个人的价值观的。一般价值观没问题的同学(不激进,不愤青)都可以轻松晋级。
笔试
线上评测的题目过了之后,就进入线下笔试环节了。
接到笔试的通知后,我于两天后的下午去了该公司。
公司虽说是笔试,但是实际上都是机上答题。
笔试一共分为三部分:
- 第一部分,50分钟,巧解题测验
- 第二部分,40分钟,两道开放性技术题目测验
- 第三部分,编程题70分钟
下面分别来说说这三部分的笔试题。
首先是第一部分,巧解题测验。这个阶段的题目一般不难,但是需要注意一些细节,比如,96个人渡河,一次算上划船的能渡过6个,问多少次渡完,19次,因为实际上每次只能渡过5个,最后一次过6个。
基本都是这类的题目,注意这个公司的要求:不允许使用方程,只能用描述来解题。
50分钟,11道题,平均一道题不到5分钟。别人不知道,对我来讲稍微有点紧张。通过这次笔试我发现了自己笔试当中的弱点,这个是后话。我最后没有全部答出,主要的原因是,自己做题太慢了。平均一道题要用超过五分钟的时间。
第二部分,两道开放性技术题目
第一题:设计一个方法,解决客户端与服务器时间同步的问题。
第二题:设计一个号牌识别的算法,算法的目标是在一个由0和1组成的矩阵中,识别数字1组成的图形是否是一个0-9的数字。
第二部分的题就有难度了。如果你没有刷过面试题,那么建议你刷一下。否则如果你从来没有见过这两道题,直接作答基本就是凉凉。
我的回答基本就是凉凉的那一类。
第三部分,编程题
编程题其实很简单,要求开发一个模拟高考成绩查询的APP,这个APP由两个画面组成,第一个画面是可以输入考生准考证号,姓名,还有城市,如果存在该考生,则跳转到第二个画面,显示考生姓名,准考证号,城市与分数。
这个题其实非常简单,但是我在70分钟之内,没有做完。缺少一个大的功能,就是显示城市的信息。
为什么会比预计的慢呢?
我感觉主要是两方面的原因:
第一,自己一开始打算按照正统的方法,去建立了一个数据模型,这需要花费一番功夫。
第二,自己一开始对于题目的理解有问题,当然,也是题目确实是有歧义。因为在给定的数据中考生的信息与城市没有关联。这样自己产生了疑问,耽误了一些时间。
最后总结自己的笔试:
第一部分的11道题,应该是答对了9道。
第二部分的试题,基本凉凉。
第三部分本来是自己最擅长的部分,但是由于时间关系,没有写完所有的代码实现所有的需求。
走的时候人事告诉我,大概两个工作日就会出结果,如果过了,会有人通知我,我问:如果不过呢?会有人通知么?人事的小姐姐笑笑说:不过不会有人通知的。我说:好的,明白了。
其实我当时想说:看来我要沙扬娜拉了。
如果后面能有面试的机会,我会继续补充,如果没有,那么我将会继续投下一个公司。
面试
两天没有消息。笔试凉凉。失去面试机会。相信不久的将来,我就会和大家在下一次的面经分享中见面。敬请期待。