以图明志

计算机算法

海盗分宝石面试题的头脑风暴

逆推的思考
五个海盗得到100颗钻石,颗颗价值连城。这五个海盗非常聪明,都想自己得到钻石最多。因而他们设计了个规则,根据抽签后的顺序, 每个人提出个分配方案,如果有半数以上(不包括半数)的人表决通过,则按这个方案执行,否则提出方案的人要被扔到海里喂鱼。下一个人开始提方案,以此类推。

计算机算法

趣味算法:生男生女的比例

阿里巴巴的一道面试题
阿里巴巴的一道面试题:说澳大利亚的父母喜欢女孩,如果生出来的第一个女孩,就不再生了,如果是男孩就继续生,直到生到第一个女孩为止,问若干年后,男女的比例是多少?刚看到问题是的思维逻辑:用递推法,假设一对夫妻,生了个女儿,就不再要了;另外一对夫妻,生了个儿子,再要一个,是女儿,然后也就不要了。第一感觉,应该是女的比男的多。

数据结构

常用于面试的链表操作算法

比较有趣的链表操作
链表操作在面试中会经常出现,下面列举的链表操作方法是比较典型的。问题1:输入一个单向链表,输出该链表中倒数第k个结点。一个单向链表无法像数组一样可以直接索引,那么要找到链表的倒数第K个节点该怎么操作呢,其实思路非常简单,我们只需要设置两个指针p1,p2,首先p1和p2都指向链表的头部head。

计算机算法

Google校园招聘题 -- 程序员买房

顺便谈一下社会问题
Google的2011年校园招聘宣讲会分别在北大和清华举行。其中前10个选择题中有一个特别雷人的,题如下:现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子?

计算机算法

一些关于字符串的面试题

几道很值得参考的字符串问题
计算机笔试和面试最常考察的就是字符串的各种操作。字符串处理是我们程序员日常工作最常遇到的问题,能够体现程序员的基本功。google笔试:编码实现求给定字符串(全为小写英文字母)的最小后继、中兴:编码实现字符串右移n位、新邮通:字符串反转……

JavaScript

四道JavaScript面试题检测你的js基本功

挺有意思的几道小题
下面有四道简短的JavaScript小脚本,如果你能顺利预测脚本的运行结果,那么你的JavaScript基本功还是可以的。如果答错了,可以相应地去补一下缺漏的知识。反正也很简单,答错了只是说明你没了解而已,看下资料很快就会明白。那么先做吧,要看答案请点 runcode 按钮。

Android

百度的Android招聘面试题

参考面试题
嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。

CSS

一道页面布局的前端面试题

从这两道前端面试题中你可以知道你需要学些什么
让我们一起来做一个页面。首先,我们需要一个布局。 请使用 CSS 控制 3 个 div,实现如下图的布局。这题不难,在平时项目开发过程中也经常会碰到: 主要考虑几个问题:1. IE6 的 3 像素 BUG;2. 清楚浮动;

C/C++编程语言

一份C++面试题和答案

你也许会在面试中遇到这些问题
以下三条输出语句分别输出什么?分别输出false,false,true。str1和str2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首地址,不等;str3和str4同上,只是按const语义,它们所指向的数据区不能修改。str5和str6并非数组而是字符指针,并不分配存储区。

JavaScript

JavaScript长字符串连接的腾迅面试题

用引用类型数组来存放则好很多
请指出一下代码的性能问题,并进行优化。这题初看纯属折腾,因为后面要根据逗号分隔再alert每项,何不构造一个数组对象来存放文本内容,而要用个临时变量info才存放。仔细观察info这个变量,发现它每次都要自加字符串,如果字符串很大的又很多的话会非常影响性能的。

数据结构

一次创新工场的面试题

还是考数据结构和基础
一次创新工场的面试题,记录下,有空把它们每道题详细透彻地写成博客,也是学习的一种好方法。 如何计算两个链表的公共长度?写出快速排序的算法和代码。如何判断一个链表中是否出现了循环链表?用两个栈模拟实现队列,至少完成入队、出队及计算长度的方法。

互联网时代

一次腾讯招聘的笔试与面试题

给希望进腾讯的朋友一点提示
考的内容非常广泛,包括但不限定于以下内容:计算机体系结构(32位系统和64位系统的区别)、操作系统(内存和cache)、数据结构(由二叉树的中序和后序遍历推出前序遍历结果)、算法(快排第一遍的结果;哪些排序是稳定性排序)、编译原理(操作系统,静态数据区,程序区,堆栈区在内存中的顺序)、计算机网络(服务器收到FIN后处于什么状态)。

数据结构

腾讯面试题:快速找到未知长度单链表的中间节点

快慢指针在单链表中很有用处
普通的方法很简单,首先遍历一遍单链表以确定单链表的长度L。然后再次从头节点出发循环L/2次找到单链表的中间节点。算法复杂度为O(L+L/2)=O(3L/2)。能否再优化一下这个时间复杂度呢?有一个很巧妙的方法:设置两个指针*search、*mid都指向单链表的头节点。其中* search的移动速度是*mid的2倍。当*search指向末尾节点的时候,mid正好就在中间了。这也是标尺的思想。
1 / 1 首页 < Prev 1 Next > 尾页 页码: