微软

微创面试后不久就接到通知,到微软面试。实际上这并不是微软项目组的面试,像是一个专门初步考核外包人员的过程。

 

下午准时到微软大厦,面试官和我差不多大。面试中聊了一下我的工作情况,不过不是重点,还是得做题(外企真喜欢做题),不过这次考的不是那么容易了。

 

1、  翻转单链表(用三个指针变量可以完成,写的时候还是要注意代码规范)

2、  字节对齐(我用开发中真实遇到的字节对齐情况作了解答)

3、  螺旋矩阵(常见面试题,但是当时我没做出来)

4、  排序算法(说了一个插入排序,问起快速排序,有点印象,但最后没答对,另外还问了如何计算时间复杂度。。。)

5、  操作系统,问了互斥量和信号量是如何实现的(汗,从没想过,狡辩说用中断实现互斥量,结果被问多处理器下是如何实现。。。无语了)

 

这是一次非常打击我的面试,之前面试建立的良好感觉消失殆尽,发现大学时的东西都忘记差不多了,基础还是欠缺啊。

 

面试完后就是等待消息,不过微创的人事mm迫不及待的问我面试情况如何,我说感觉不好,人事mm立刻说没关系的,她会和面试官交流一下(晕,你直接和面试官交流就是了,还打电话问我。。。)。很快,人事又来电话了,说面试情况不错(不知道是不是安慰我),等一阵子就是二面。

再次来到微软大厦,其实挺喜欢里面的装修的,特别是茶水间,好希望以后工作的地方能有茶水间,可以喝各种饮料(我是不是太容易满足了)。

 

二面是面了三个人(每个人面试时都得说一遍工作情况,呵呵,都要倒背如流了)。都是技术面,除了最后一个感觉差异比较明显以外,前面两个还是以做题为主。

 

第一个面试(做题)

1、  除了一道c++的题目,关于继承的(我的弱势),C继承了A,B两类,一个函数new了一个C类变量,并对A,B,C的成员变量都赋值,用一个B类指针指向new出来的变量,然后调用B的打印函数打印自身的成员变量。

没说对,面试官倒是挺耐心的提醒我答案是啥,呵呵,结果说着说着,就讨论了一下类变量内存空间分布的情况,以及可能会出现的问题,说实话,c++我是不大熟悉,但是对于内存空间分布,我还是有自己的看法,不过这个问题也没有继续深入讨论,面试官还是建议我可以回家看看这段程序(呵呵,还好,这位面试官不会有脾气)

2、  二叉树的先序遍历和层次遍历

汗,临时抱佛脚看了一下二叉树,不过没看到层次遍历就跳过了,杯具啊。。。不过没关系了,这才是真实实力的考察,平时本来就没用过树,早就忘光了。面试官还是耐心提醒我答案,呵呵,小伙子人不错(看起来比我年轻一些)

 

第二个面试(做题)

1、  输入一个字符串,打印出每个字母出现的次数

很简单的题,这个我还是继续发扬代码规范的精神

2、  单链表,找出距离末节点为k的节点

一道常见的面试题,虽然见过,但我并不知道答案,还好这道题让我想出了答案。

3、  描述了一下工作情况,看我做过拓扑结构管理,想问一下图的问题

立刻被我制止了,因为我做的拓扑结构十分简单,根本就没有图那么复杂,要是被问,肯定哑口无言

 

第三个面试

这应该才是面试经理,主要了解工作情况,都掌握哪些知识点(总的来说我还是偏应用,我也渴望向驱动发展),然后主要了解一下我开发中debug的情况,然后出了两个题目考察我解决问题的能力

1、  一个服务器(通过网络连接)一个远端解码设备(通过视频线)一个显示器,播放过程中,发现显示花屏,如果你被派过去会如何解决这个问题?

呵呵,很有意思的题目,我以前曾经随技术支持人员到现场解决问题,因此对流程还是比较了解

(1)       记录故障现象(作为故障的解决凭证,其实跟这个问题没关系)

(2)       查询日志(其实到现场,第一件事就是查日志,因为很有可能这种现象在实验室出现过,并有相应的解决方法,查日志就是查一下相关开发人员是否已经防范了这种现象)

(3)       如果日志正常,下一步就是定位哪个环节有问题了,我们看一下数据的流向,从服务器端获取编码数据,通过网络传输给嵌入式设备,嵌入式设备进行解码,将解码数据传输给显卡显示。

(4)       上面的环节都有可能导致数据出现异常,因此最合理的方法是每个环节开始和结束都保留一份数据备份,通过比较来发现那个环节数据出现了问题(这其实是我工作中常遇到的问题,可以说正中我下怀,呵呵)

2、  一个生产者不停的生产数据插入到队列中,一个消费者不停地从队列中取出数据。请设计数据结构,插入和读取函数。

我无语了,这个其实就是我日志模块的设计(多线程写队列,单线程读队列),我编写了程序,进行过大量的测试,以保证这个模块的稳定,可以说里面可能遇到的问题我基本都发现了。面试官让我十分钟写完,其实我五分钟就写完了。我写了数据结构,另外将读写函数的设计流程画出来(不用写代码)。我滔滔不绝的讲解完我的设计以及它如何防范可能出现的异常情况。说完以后,我问:“有什么问题不?”面试官想了想,“没有了”。

 

面试结束前,面试官问了我的英文水平如何,杯具,本来和他面试的过程都感觉挺自信的,最后晚节不保。我回答听读都比较好,说和写比较差。可以看出来面试官还是略感失望。

 

总结此次到微软的面试,估计被录用的可能性比较小。一、这个项目用的是为上层提供类对象的,肯定得用c++,因此和我的专项不对口;二、整个过程中,做题是主流,而从中我也发现自己对数据结构的应用还不充分(其实我大学数据结构就没学好),不过稍微值得安慰的是工作中常用的数据结构(链表、队列、栈)现在应用的还是比较熟练的;三、操作系统其实也是十分重要的内容,不过可能其本身就是开发操作系统的,因此反而在这方面考察的不是太多;四、英语是一门重要的技能,估计要入外企,能读会写才行。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值