小米面试每一轮都有算法吗

新手学堂015

小米面试每一轮都有算法吗,第1张

一共两轮,两个不同类型的面试官,一轮要一小时左右,两轮都要纸上写代码,给我最大的感触就是问得特别深,是越来越深,直到你答不出来。

第一轮问了我STL的一些数据结构,其内部实现。我说了map是红黑树,unordered_map是hash表,之后我不小心说到hash表最常见的实现就是一个链表数组,链表是为了处理冲突。于是又问我hash表处理冲突的方式,也难不倒我。再问让我写一个hash表存储用户的,大概要多少位hash值才能尽可能没冲突。我大概算了一下。下一个问题是while(1) sleep(x);这里x大概要多少秒(可小数)才能使cpu忙碌。大家估计一下我心理阴影面积。然后看我操作系统内部了解不多,又问了一堆。(这就是为什么我们应该好好读<<深入理解计算机系统>>)我答得十分糟糕。之后让我写一个链表反转,我感觉有点诧异,想不到这玩意还真这么容易考到。诧异是诧异,没花我多长时间就搞定一个O(n)时间O(1)空间的链表反转了。又让我说如果要实现一个lrucache,怎么实现?我记得教材上有说过用栈,我就直接说栈,面试官反问了我一堆问题,后来我又说用链表,不过可能空间消耗比较大,面试官问我为什么,我说有个指针域(我也是蠢哭),然后就直接打发我走了。

本来我以为我没机会了,想不到一轮面试官给面子,让我到了二轮。

一上来,看见我简历上一个项目写了tfidf,就问我其是什么,我大概说了是频率和逆向频率的综合,又要我给出精确定义。我放弃(不太确定)。虽然我不久前刚看过定义,但当时没怎么仔细思考,毕竟sklearn里都有现成实现。之后让我写一个singleton,这玩意当然难不倒我。写完后又要我写一个线程安全的版本,我用了锁,但他说开销太大。我继续放弃(我印象中确实有的,但是比较底层,我对这种底层的东西没啥兴趣,要是有兴趣,一面也不会那么惨了),并反问他怎么办,他说了一个check twice(但我之后上网没找到)。之后问我拓扑排序(当然难不倒我)和java线程模型,这里我十分可笑,竟然把可重入锁说成自旋锁(自旋锁是lock后并不会让此线程立刻放弃cpu,而是等待一会;可重入锁是同一个线程可以多次获得)。又让我写二叉树后序的迭代版本,我压根没写过,只看过一次,那次看的实现还特别复杂,最惨的是,房间里另一对面试的有些影响我,心想这下出事了。磨磨蹭蹭写出了一个版本,面试官一看就否决了,我仔细一看,确实有问题,不过加上两个标记还是成功搞定。之后问了我要是去了小米想做什么,我十分可笑,说我想做比较酷的事(正常情况我是不会这么说的,我真正想法是做有趣的事,考虑到是小米),又问我做过什么酷的事,我答不出来,随口说了个装linux系统,使用cli,顿时感觉自己low爆了,还不如说在android上装linux呢!还问我哪方面比较薄弱,我当然是说计算机图形学了。之后说了我一些缺点,比如有点油(tfidf惹的货),知识面广但都不深。数据结构是不错(可能是我简历上写了解B树和红黑树),但算法不行(笔试最后两题,都只能给出差强人意的答案,不够极致(原话))。之后就把我打发走了,事后我还觉得有些希望。但这么多天过去了,越想越觉得没戏。

感觉自己还是太弱,还得多读书,多写代码,来年春招再投。

做完携程的笔试之后小米的也显示做过了可能是一个系统的。

携程笔试通过互联网大厂的笔试练习,帮助自己增强行测能力,以不变应万变。

一个系统的考试题是一样的,做完以后就不能再做了,会显示做过。

可以继续投递。

没过的话可以再继续投,但是我们需要改进一下计划与策略,并且改进自己的方案,这样才能有可能再次被通过。

笔试没通过,必然是有明确的拒绝你的原因。不妨可电话联系人力资源部分,询问自己与招聘职位间的差距,看看自己有那些不足重新调整笔试计划。

4001005678。

小米手机提供的服务方式共有四种服务方式:

1、在线客服:主要提供售后服务,服务时间:9:00-18:00。

2、微博客服:主要提供售前、售后服务,服务时间:9:30-21:00。

3、小米之家:主要提供售前、售后服务,服务时间:10:00-19:00 (周一休息)。

4、电话热线:主要提供售后服务,服务时间:9:00-18:00,电话:400-100-5678。

公司介绍:

小米科技有限责任公司成立于2010年3月3日,是一家专注于智能硬件和电子产品研发的全球化移动互联网企业,同时也是一家专注于智能手机、互联网电视及智能家居生态链建设的创新型科技企业。 小米公司创造了用互联网模式开发手机操作系统、发烧友参与开发改进的模式。

“为发烧而生”是小米的产品概念。“让每个人都能享受科技的乐趣”是小米公司的愿景。小米公司应用了互联网开发模式开发产品,用极客精神做产品,用互联网模式干掉中间环节,致力让全球每个人,都能享用来自中国的优质科技产品。

以上内容参考 官网-联系我们

小米手机客服在线咨询如下:

工具/原料

RedmiNote 9

MIUI1258

小米商城57

1、打开我的客服

打开小米商城,进入我的界面,点击官网服务下面我的客服。

2、打开在线客服

点击底部热线电话,即可查看小米手机客服电话;点击底部在线客服,进入聊天窗口。

3、选择咨询的产品类型

点击小米手机进入。

4、打开24小时在线人工客服

点击页面右上角头像。

5、结果展示

在底部输入框发送问题,即可联系24小时在线人工客服。