上来随意交谈了一小会儿,开了点小玩笑,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. rman 中遇到 ORA-01861

    RMAN> run{ 2> sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"'; 3> ...

  2. CF 1073C Vasya and Robot(二分答案)

    C. Vasya and Robot time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  3. C# 未能加载文件或程序集“xxx”或它的某一个依赖项。参数错误。(异常来自 HRESULT:0x80070057 (E_INVALIDARG))

    错误信息: 因为电脑突然蓝屏,然后重启,再运行项目,报了这个错. 解决方案: 环境是:VS2012+Win7 通过网上查找, 4.0 删除 C:\Windows\Microsoft.NET\Frame ...

  4. 使用COSBench工具对ceph s3接口进行压力测试--续

    之前写的使用COSBench工具对ceph s3接口进行压力测试是入门,在实际使用是,配置内容各不一样,下面列出 压力脚本是xml格式的,套用UserGuide文档说明,如下 有很多模板的例子,在co ...

  5. yii---往对象里面添加属性

    我们在用YII的时候,查询到一条数据,但是很多时候会往这条查询的数据里,添加某个字段,但是直接添加会报错: $thread = $this->getThreadService()->get ...

  6. 2018-2019-2 20165330《网络对抗技术》Exp6 信息搜集与漏洞扫描

    目录 基础问题 相关知识 实验目的 实验内容 实验步骤 实验总结与体会 实验目的 掌握信息搜集的最基础技能与常用工具的使用方法. 返回目录 实验内容 各种搜索技巧的应用 使用搜索引擎 搜索网址目录结构 ...

  7. 【紫书】 Unix ls UVA - 400 模拟

    题意:中文版https://vjudge.net/problem/UVA-400#author=Zsc1615925460 题解:首先读取字符,维护一个最长字符串长度M,再排序. 对于输出,写一个pr ...

  8. 冒泡排序之python

    冒泡排序(Bubble sort) 两两比较相邻记录的关键字,如果反序则交换,直到没有反序记录为止. 1.算法描述: 比较相邻的元素.如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工 ...

  9. pyobjc-framework-Cocoa 5.1.2

    Introduction — PyObjC - the Python to Objective-C bridge https://pyobjc.readthedocs.io/en/latest/ py ...

  10. 没有动态库链接:可执行的文件大小一个就有几百兆 Dynamic-Link Libraries

    dynamic link library Dynamic-Link Libraries (Windows) https://msdn.microsoft.com/en-us/library/windo ...