上来随意交谈了一小会儿,开了点小玩笑,chat了一些关于他们recruter行程的话题,缓和了一下气氛。

进入正题,问了做的research的方向,我说是DLT,然后大概给他讲解了一下具体是什么, 跟平行计算很像,举了一个例子:矩阵乘法如何划分使并行效率最高。他表示理解。然后他又问我有没有过end to end的experience, front end back end那种, 我跟他简单介绍了一个简历上的social database设计的project,简单介绍了我们front end和back end的功能。然后他又问我最chanllenging的coding experience,我说是我第一个NP project, 跟他大概介绍了一下,他问大概多少行代码。

他说通不通过主要取决于当场写算法。然后就开始出第一道题

1. Anagram问题,如何判断两个String是不是Anagram,他先让我讲思路。我说一般两种做法,一是转换为char array, sorting, 看sort了之后的char array是不是一样的。另外一种做法是用hashMap, 把第一个String的元素依次输入hashMap, 再把另一个String的元素依次输入另一个HashMap, 然后比对这两个HashMap是不是一样。他问我各自的时间复杂度是多少,我说分别是O(NlongN)和O(N), 并解释了原因。他然后让我用HashMap那种方法,问我to save trouble,能不能用其他的数据结构而不用HashMap. 我说用int array, 假设字符是ASCII码,建立一个256 size的array, 对每一个字符,到int array的相应的位置去+1,对第二个String再来一次扫描,到相应位置-1, 最后看是不是全零array. 这样是O(2N),他问能不能O(N),我说可以把+1-1的操作放到一次scan里面完成。他点点头。

2. 然后他把白板擦了出第二道题。一个M*N grid, 一个人从左上去右下,问有多少种路径。我跟他说这是一道DP的题,建立一个M*N矩阵,对每一个entry,表示从start到当前位置有多少条路径. matrix[M-1][N-1]为所求。matrix[0][0] = 1. 递推式是 matrix[x][y] = matrix[x-1][y] +matri[x][y-1]. 然后还要考虑一下corner case, 比如matrix[0][x]. 他让我拿4*4矩阵推导一下,我推导了,得到matrix[3][3] = 20. 他说OK

3. 前两道题都感觉还可以,这道题就感觉比较难了。酒瓶问题。第一行1个,第二行2个,3行3个....,每个酒瓶承1加仑的酒,超过就均匀溢出给左右两个child酒瓶。问如果我有C加仑的酒,第N个酒瓶有多少酒。我推导了一下,也没有拿出太好的方案,他便给了一个提示,找parent的index和child index的关系。 我说假设N在第x+1 row, 如何找x, 就是比对N在哪个x(x+1)/2 和(x+1)(x+2)/2之间,找到了x, 那N的parent的index是N-x-1以及N-x。这是step one. 讲到这里没时间了,也讲的比较混乱。 step2没做,现在想想, 如果假设N-x-1为P1, N-x为P2,应该是

f(N) = f(P1)>1? (f(P1) -1) / 2 : 0 + f(P2)>1? (f(P2) - 1) / 2 : 0, 不考虑cornor case的情况。base case是f(1) = C; 最后return f(N)>1? 1 : f(N)

Microsoft Interview第一轮的更多相关文章

  1. Cracking the coding interview 第一章问题及解答

    Cracking the coding interview 第一章问题及解答 不管是不是要挪地方,面试题具有很好的联系代码总用,参加新工作的半年里,做的大多是探索性的工作,反而代码写得少了,不高兴,最 ...

  2. 上海市2019年公务员录用考试第一轮首批面试名单(B类)

    上海市2019年公务员录用考试第一轮首批面试名单(B类) 2019-03-12 设置字体:大 中 小 职位序号 注册编号 职位序号 注册编号 职位序号 注册编号 职位序号 注册编号 1910565 5 ...

  3. 上海市2019年公务员录用考试第一轮首批面试名单(A类)

    上海市2019年公务员录用考试第一轮首批面试名单(A类) 注册编号 总成绩 注册编号 总成绩 注册编号 总成绩 注册编号 总成绩 4016574 127.4 5112479 145.9 5125732 ...

  4. 玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息

    项目的Github地址:https://github.com/ggrcwxh/LastTime 采用基于git的多人协作开发模式 软件采用mvc设计模式,前端这么艺术的事我不太懂,交给斌豪同学去头疼了 ...

  5. Postmortem Report 第一轮迭代事后分析报告

    一.设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件<BlueZ>是一款全新动作类塔防游戏.与市面上已经存在的塔防游戏不同 ...

  6. SDOI2017第一轮

    本蒟蒻表示终于$AC$了$SDOI2017\text{第一轮}$! 兴奋! 附上各个题的题解: $DAT1$: $T1$: BZOJ4816: [Sdoi2017]数字表格 $T2$: BZOJ481 ...

  7. 史上最全的CSP-J/S 第一轮知识点

    CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...

  8. it's over | 2019 CSP-S 第一轮认证

    不知道自己有没有凉,毕竟我们省这么弱(据说有的省80都悬... 其实这几天对初赛基本没什么感觉,可能是没给自己多大压力吧,倒是班上的一群同学似乎比我们还着急,我们的数学课代表兼数竞大佬特意给我画了吉祥 ...

  9. [转帖]中兴GoldenDB数据库开始了第一轮中信银行核心业务系统迁移落地

    中兴GoldenDB数据库开始了第一轮中信银行核心业务系统迁移落地 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...

随机推荐

  1. Android.mk (2) 函数进阶教程 - 分支、循环、子程序

    https://www.jianshu.com/p/674dc7d7b4b0 函数进阶教程 - 分支.循环.子程序 按照面向过程程序设计的标准流程,我们讲完了顺序结构,就要讲分支.循环和子程序.下面我 ...

  2. 九度OJ小结

    1. 高精度问题 可参考题目 题目1137:浮点数加法   http://ac.jobdu.com/problem.php?pid=1137 对于高精度问题可以考虑使用结构体.上述为浮点数加法,因此该 ...

  3. !important:element.style 覆盖样式问题

    问题: 浏览器F12看到是这个样子. 但是我设置的样式是这样子. #iframe_close { width:750px; } 无论怎么设置样式,都无法覆盖掉element.style的样式,widt ...

  4. 谷歌浏览器不能正常显示中文,chrome显示汉字问题

    用了几年的 chrome但是最近每次升级完flash就出现页面不能正常显示中文的现象. 在一个论坛上发现了处理办法如下: 1. 在谷歌浏览器的地址栏输入 chrome://flags/ 2. 在设置里 ...

  5. kvm虚拟机不能使用virsh shutdownw命令关闭虚拟机的解决方法

    今天笔者在对kvm虚拟机进行管理时,使用virsh shutdown命令关闭指定的虚拟机时,发现虽然有如下的提示,但其实虚拟机却一直不会真正的关闭. 经过查看virsh命令帮助和上网查询,才得知vir ...

  6. 【BZOJ5094】硬盘检测 概率

    [BZOJ5094]硬盘检测 Description 很久很久以前,小Q买了一个大小为n单元的硬盘,并往里随机写入了n个32位无符号整数.因为时间过去太久,硬盘上的容量字眼早已模糊不清,小Q也早已忘记 ...

  7. css中:hover空格

    前面有空格后代所有节点,前面无空格第一个节点 <div class="task-item"> <span><input type="chec ...

  8. ELK之使用filebeat的多行过滤插件把多行合并成一行

    java运行日志一般有多行,格式类似如下 格式为:日期 + 日志级别 + 日志信息 有些日志是多行的,需要使用filebeat多行插件把多行合并成一行 未使用多行插件的日志格式 修改filebeat配 ...

  9. poj3261 Milk Patterns【后缀数组】【二分】

    Farmer John has noticed that the quality of milk given by his cows varies from day to day. On furthe ...

  10. 《into100-创客+沙龙第4期:互联网产品用户需求挖掘与转化》圆满成功

    5月16日,由麦思博和阿里云联合主办的<into100-创客+沙龙第4期:互联网产品用户需求挖掘与转化>圆满结束.现场100多位来自互联网及软件公司的产品经理.产品总监.开发经理.工程师及 ...