导航:首页 > 源码编译 > 小米商业算法部

小米商业算法部

发布时间:2023-06-20 03:52:51

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

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

第一轮问了我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树和红黑树),但算法不行(笔试最后两题,都只能给出差强人意的答案,不够极致(原话))。之后就把我打发走了,事后我还觉得有些希望。但这么多天过去了,越想越觉得没戏。

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

⑵ 2019研究生秋招得北京小米、杭州新浪微博、南京oppo三个offer,算法工程师岗位,怎样选择

推荐北京小米和杭州新浪,因为城市的发展对个人的影响也挺重要的,这点来说,南京比不上北京和杭州,至于北京杭州这两个如何选择就要看题主对南北方饮食习惯,生活习惯,家乡,人脉关系这些的考虑了

阅读全文

与小米商业算法部相关的资料

热点内容
su插件压缩包怎么安装 浏览:546
我的世界神奇宝贝服务器如何快速发育 浏览:662
信源编译码作用 浏览:738
编译脚本失败 浏览:211
编译无效对象是什么意思 浏览:86
35岁开始做程序员 浏览:669
如何查看远程服务器系统时间 浏览:418
星三角怎么编程 浏览:205
摩斯密码加密题目 浏览:969
触摸屏自锁电路编程演示过程 浏览:332
程序员的奇妙之旅在线观看 浏览:77
国内服务器如何连接国外服务器 浏览:453
加密文件怎么变成不加密了 浏览:853
企业密信服务器地址是什么 浏览:407
note2android升级 浏览:840
麻省理工python 浏览:29
编译程序软件哪个好 浏览:848
rar命令行压缩 浏览:938
单片机字符表代码 浏览:504
pdf转换word苹果电脑 浏览:666