微软实习电面

      约好星期四(昨天)下午两点到三点钟电话面试。manager态度很好,上次预约的时候一直说自己没有时间,要另约一个时间。说完还谢谢我,这个让我挺不好意思的。

      星期四下午,临近两点钟,紧张。

      两点钟准时打来电话,第一次打来他那边信号不好听不清我说的话,于是挂下重打了一遍。依旧紧张。

      先让我自我介绍一下,我有点懵,说本科来自哪,现在在哪读研究生,然后就没了。

      然后让介绍一下我的简历上写的项目,通过边匹配恢复摄像机三维方向和位置的那个,简要回答之。

      开始问题了。

      第一道题是概率题~ 我顿时有点晕,马上有点呼吸急促并且缺氧。一听到概率我就联想到条件概率,很多公式。考研那时候是复习一些概率知识,可是现在全都忘了。有点退却了。但是还是硬着头皮来吧。

      问,10个红球10个绿球放到两个盒子中,盒子中可以放任意个球,那么如何放可以使得去一次球时红球的概率最大?

      懵了。赶紧设变量列方程,算出一个两个变量的公式不知如何求最值。于是问可以穷举吗?manager回答不可以,那放几千几万个怎么穷举?当时大脑一片空白。manager提示,考虑极端情况。于是我尝试去计算几个实例,两个盒子分别放10个红球和10个绿球,这样是1/2。一个盒子放5个红球另外一个盒子放所有的球,这样是1/2*5/15+1/2大于前面一种。然后我再考虑别的情况,皆因分子分母不好通分不好比较。manager问我想好没,我说只想到那种概率较大的,然后他告诉我说我的思路是对的,接着这样去想。于是我又计算了几种,最后告诉他我只知道再放几个到多的盒子里去会越来越大。。。  事后室友告诉我一个盒子放一个红球另外一个盒子放所有球就行了。。。恍然大悟。。。当时怎么没想到。

      manager似乎有点失望。

      问给定一个序列,求第k大的数,要求不能交换数据,只能用O(1)的空间复杂度。

      之前看过讨论第k大的数,但这一回的要求否决了我脑子里闪过的任何算法。

      想了一会后我只好向他提问,对时间复杂度有没有要求。那边回答说没有。

      那就好办了。于是告诉他用O(n^2)的好了。第一次找最大的,第二次找剩下的里面比刚才找到的小的最大的,如此重复直到找到第k大的。如果数存在重复值的情况,那么把下标作为第二关键字对所有的数进行大小判定。在草稿纸上写好代码,然后报给那边。关于这个题目,刚才问了同学他想了另外一种方法,就是对每个数算有几个比他大就行了。然后我想到如果所有数都是可用int表示的整数的话,用nlogn就可以解决了。二分枚举那个第k大的数。

      五个点两两相连会有新的交点出现,这所有的点能组成多少个四边形呢?编程实现。

      我傻傻的在纸上画,然后一个一个的数,然后告诉他xx个,然后那边马上回答不是要我去数……如果是n个点怎么办?要我编程计算出来。

      想了想,没有啥好的方法,写了一个递归枚举的代码给他。

      然后问我有什么问题问他,我问manager是做哪一方面的,然后那边实习工资多少,在哪里工作,实习的话需要多少时间。

      通话时间总共55分14秒,通话临近结束时manager依旧谢了我,这回我也依旧不好意思,连忙不了一句:“不客气?” 听着有点别扭。

 

 

      本次电面小结:反应迟钝,功底弱,不该问实习工资的,最后应该问啥时候能知道结果的,还有,manager回答完我的问题后我是不是该谢谢他的?然后是不是应该问manager姓名称呼的?

 

      简记之。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值