上周二中午接到BD的电话,问我周四能否去北京现场面试,我迟疑了下,要去北京?!我最怕坐车了,哎!况且周四我们组还有活动的!就说需要安排下,待会给打过去!
想来想去,还是决定去北京一趟,粗略算了算,就周五吧!于是稍后回了电话,咨询可否周五下午两点半,可能他们比较喜欢整点,说是订到3点,也行!就这样把时间敲定下来了!随即便去买了一张票,T60,正好周五早上可以到北京!后面再给我电话,说是交通费报销事项会发到邮箱,这真是一个意外呀,原来交通费是可以报销的,真不错!大公司都这样子吧,相关事宜做得比较周到!随即增分^_^。
很快面试时间到了!中午饭过后,我就去地铁到了大厦,从朝阳门到西二旗,中间从2号地铁转到13号地铁,不知道要走好久到另外一个点转,招到了女工作人员的不屑,哎,再次对北京失望,怎么可以这个态度呢?!当时可想把她给拍下来了发到网上批评一番,可惜相机不在身边!归正题吧!
到了C座,1点半,还有半个小时(后来发邮件把时间给改到了2点),向前台说明了情况,1点50帮转接了,可是面试官好似记错了时间,等到了2点15分的样子,后来他还给我道歉,说是看成4点了,也是哈14::00很容易以为是4点的。上到了6楼,进入一个貌似茶水厅的地方,这儿坐了好几桌人,有讨论的,有面试的。我们挑了个靠栅栏的桌子坐下来,面试官还问了我一句,坐这会不会觉得冷。我回答是不冷。穿得比较多^_^,随后还给倒了两杯水,他一杯我一杯。真祥和,随即又增分!面试开始了。
1.先是自我介绍。我例行公事一样把重复了多次的话再重复一遍。
2.然后问了几个非技术问题,看到简历上的ICPC/ACM比赛奖项,就问ICPC是个什么意思,我有点懵了,因为这个是啥意思我自己也都忘记了,只知道是个简称,其实之前还有点以为跟在中国本地ACM比赛有关,但是想想不太可能,应该是简称的,就支支吾吾说这个就是这个比赛的全称的简称。还问了我的队员都有哪些,还问了每个人的分工之类的,如实说了!
3.说还是要考下题,随即出了个题,有个随机生成器,可以随机生成0和1,现在有10个人,要在其中随机选出4个人参加一个比赛,问如何做到利用01随机生成器随机选出4个人。一开始我就想到二进制,用4为二进制位,通过与或异或应该可以使得1--10生成的概率一样。给他说了想法后,被他给否定了!想想自己也否定了!好像单独仅靠与或异或是达不到的,但是我不想放弃这个思路,我知道,应该是可以的,如果用复式的与或异或应该是可以的。我要求再想会,一小会后他问我有思路没有,我知道现在时间不够想,于是我放弃了,选择了最简单的方式,就是直接运用01生成器产生4个数形成4为的01串,如果是在10以内,就要,如果超过10就丢弃,重新生成。这样子就可以使得选出的4个人是随机的。然后他估计没有了兴趣继续听下去吧,然后就换另外一个话题,说这样子做的话选出4个人至少需要多少次。我知道这里应该有个概率模型可以做的,而且是可以推出来的,1--10之间每个数的概率是5/8,随机选出第一个人需要的次数是1/(5/8),第二人的话需要考虑不能和第一个数重复,通过设定随机变量来代替概率,然后算随机变量的期望来推导,但是整个推导过程很复杂,详细可见算法导论里有关章节。但是我要推出来的话得费很多时间,而且也不一定也推得对,所以只能放弃,说这个可以由模型推导得出来,但是现在我记得不是很清楚了。
4.接着又从简历中挑了个问题出来。做好微博,需要做些什么。这个问题太有发散性了,压根就不是单纯的技术问题了。我就说了自己的想法。我说其实最重要的是宣传,这个很重要。面试官说这个可以算一点,那其他的呢,然后我大致说了下,主要是用户量,微博话题的要新全热,满足用户需求,总之呢,在我能想到的乱凑了一通。
5.前一个问题说到了微博用户,然后看到做了关于聚类的课题,接着就问了如何聚类微博用户,拥有很多用户,如何将他们聚成一类一类的。我大致说了下,可以根据用户注册是的信息标签和用户经常发的微博或者是关注的话题的关键字作为属性来进行分类,将有相同标签或者拥有相同关键字的用户分到相应类别里面。意思就是每个标签和关键字可以自成一类,将相应的用户都分到旗下,当要向用户推荐另外的用户时,即可以将同属一类的推荐之。不过想想是聚类,那就不能分类了。那就给每个用户抽象出一个向量属性(现就假设只有标签和关键之这两个属性),定义一个相似度,然后运用层次迭代聚类算法就可以将用户聚类。然后属于同一类的就可以相互推荐。之前说得比较笼统,他说明白我的意思,但要说出具体的做法,就是详细的执行步骤。就详细了一番,关于用什么算法,不用什么算法,如何抽象属性向量,可以如何定义相似性,都提了下,这个问题就这样子结束了!
6.面试的最后部分来了,问我有什么问题,我就问了关于部门的工作范畴之类的,讨论了下在产品中如何运用算法之类的。在结束的最后一刻还说了下二面最后一个问题的补充,当时只想到基于统计,电话挂掉后才猛然想起应该将决策关联加进去,这样子效果更好,再问了他的想法,他说是要加的,还可以加上用户的个性,那就是得需要session了。证实了自己的想法后,还问了第3题的另外思路,他说了有很多呀,我就说比如呢?给我提个方向就行,他说在生活中你会如何做呢,我说就随便选呀,抓阄!他说对咯。
就这样,整个面试持续1个多小时的样子后结束了!我们一道下楼,面试官和我闲聊了些其他的事情,说完谢谢再见后,我们就各自分道了!说是一周给结果。结果不重要了,我尽人事了!周末又该考试了!加油吧,尽人事,听天命!^_^加油加油!