运算
★链接表和数组之间的区别是什么?
★做一个链接表,你为什么要选择这样的方法?
★选择一种算法来整理出一个链接表。你为什么要选择这种方法?现在用O(n)时间来做。
★说说各种股票分类算法的优点和缺点。
★用一种算法来颠倒一个链接表的顺序。现在在不用递归式的情况下做一遍。
★用一种算法在一个循环的链接表里插入一个节点,但不得穿越链接表。
★用一种算法整理一个数组。你为什么选择这种方法?
★用一种算法使通用字符串相匹配。
★颠倒一个字符串。优化速度。优化空间。
★颠倒一个句子中的词的顺序,比如将“我叫克丽丝”转换为“克丽丝叫我”,实现速度最快,移动最少。
★找到一个子字符串。优化速度。优化空间。
★比较两个字符串,用O(n)时间和恒量空间。
★假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?
★不用乘法或加法增加8倍。现在用同样的方法增加7倍。
应用
★如何将计算机技术应用于一幢100层高的办公大楼的电梯系统上?你怎样优化这种应用?工作日时的交通、楼层或时间等因素会对此产生怎样的影响?
★你如何对一种可以随时存在文件中或从因特网上拷贝下来的操作系统实施保护措施,
防止被非法复制?
★你如何重新设计自动取款机?
★假设我们想通过电脑来操作一台微波炉,你会开发什么样的软件来完成这个任务?
★你如何为一辆汽车设计一台咖啡机?
★ 如果你想给微软的Word系统增加点内容,你会增加什么样的内容?
★你会给只有一只手的用户设计什么样的键盘?
★你会给失聪的人设计什么样的闹钟?
头脑
★如果你有一个许多部件可以拆卸的时钟,你将它一块块拆开,但是没有记住是怎样拆的。然后你将各个零件重新组装起来,最后发现有三个重要零件没有放进去。这时你如何重新组装这个时钟?
★如果你需要学习一门新的计算机语言,你会怎样做?
★假设由你负责设计比尔盖茨的卫生间。当然,钱不成问题,但是你不可以和比尔谈。你会怎样做?
★到目前为止,你遇到的最难回答的问题是什么?
★如果微软公司说,我们愿意投资500万美元用来开发你提出的方案。那么你会做什么?为什么?
★如果你将世界上所有的计算机制造商召集起来,告诉他们必须要做一件事,你会让他们做什么事?
★如果你在五年内会得到一笔奖金,你认为会是因为什么?关注你的成绩的人会是谁?
★你如何教自己的奶奶使用微软Excel表格系统?
★为什么当我们在任何一家宾馆打开热水龙头时,热水会马上流出来?
★你为什么想在微软工作?
★假设你回到家,进入自己的房间,打开电灯开关,可是一点反应都没有--灯没有亮。这时,你在判断问题出在哪里时,会依次采取怎样的做法?