http://bbs.yingjiesheng.com/thread-1556967-1-1.html
百度的移动软件这面题比较少,也都是基础经典题。
它是在CISC指令系统基础上发展起来的。各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。RISC可同时执行多条指令,它可将一条指令分割成若干个进程或线程,交由多个处理器同时执行。由于RISC执行的是精简指令集,所以它的制造工艺简单且成本低廉。
给出一道例题,类似这样的题目可以用如下的方法解答:
解答方法:
一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,该二叉树的后序遍历是什么?
DGEBHFCA 这个是2叉树滴图形
A / \ B C / \ . \ D E F . / . / G. H 后序访问的顺序为 (1)遍历左子树; (2)遍历右子树; (3)访问根结点。 所以结果为DGEBHFCA
重写是对于父类与子类来说的,当一个子类继承了父类的方法,然后需要把继承来的方法重写定义其实现,这称为重写(或者覆盖),重写的方法名、返回类型以及参数列表必须与父类的一样。重载是对于类的内部来说的,当一个类中定义了多个同名的方法,但是它们的返回类型或者签名不一样,这称为重载。
/** * 发现有一个 O(n)算法。因为两个数组都是排好序的(以两个数组都是升序排序为例), * 所以只要一次遍历就行了。 * 首先设两个下标,分别初始化为两个数组的起始地址,依次向前推进 。推进的规则是 * 比较两个数组中的数字,小的那个数组的下标向前推进一步,直到任何一个数组的下 * 标到达数组末尾时,如果这时还没碰到相同的数字,说明数组中没有相同的数字。 * 注意:当两个数组都是降序排序的时候,大的那个数的下标推进。如果一个升序一个降序, * 那么就非不从不同的两端遍历。 * @param a * @param b */ public static void findSameEle(int [] a,int[] b){ int i = 0; int j = 0; while(i < a.length && j < b.length ){ if(a[i] == b[j]){ //输出相同的数 System.out.print(a[i]+ " "); i++; j++; } else if(a[i] < b[j]){ //当前比较小的数对应的数组下标+1 i++; } else{ j++; } } }
按照gunnimadepi的方法,可以在两个小时内就检验出哪一瓶是有毒:
10个老鼠,把每个老鼠当作一位,可以有2^10种可能性
0000000001 1号瓶
0000000010 2号瓶
0000000011 3号瓶
0000000100 4号瓶
0000000101 5号瓶
0000000110 6号瓶
0000000111 7号瓶
0000001000 8号瓶
.
.
.
1111101000 1000号瓶
找10个碗,对应以上二进制的10位,每号瓶向对应位是1的碗倒一点酒(少量,老鼠喝不了多少酒,呵呵).这样让10只老鼠喝,2小时后哪些位的老鼠有反应就把对应位置1,再把二进制转成十进制,就可以找出哪个瓶有毒.
3,假设完成POP3,IMAP,smtp协议,画出模块图。
一、 百度济南笔试移动终端 题目
刚刚参加完笔试,真是一场洗礼啊,太难了。下面我回忆下今天遇到的题目。
总共是四道大题:
1 利用互斥量和条件变量设计一个消息队列,具有以下功能:
1 创建消息队列(消息中所含的元素)
2 消息队列中插入消息
3 取出一个消息(阻塞方式)
4 取出第一消息(非阻塞方式)
注意:互斥量、条件变量和队列又系统给定
2用非递归方法完成二叉树的周游
3讲下cnwap和cnnet的区别
4设计一个内存管理策略,要求可以保证多线程时的安全,防止内存越界等,效率不低于malloc/free函数
就这些吧,感觉就是云里雾里,。