`
switchlau
  • 浏览: 54102 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

百度东大笔试题

阅读更多

http://groups.google.com/group/pongba/browse_thread/thread/d4e644a0d165e086

 

 

1. 某计算机系统只有以下原子操作:
赋值
+1运算
循环 只能是固定次数的循环
只操作0和正整数
不会溢出
用伪代码实现加法,减法,乘法和除法运算。

 

2.找出下面程序的错误,如何修正。
#include <vector>
#include <iostream>
#include <string>
#include <fstream>

using namespace std;
class Test
{
public:
        string s;

};

int main()
{
        Test *t= new Test[3];
        ofstream output("file",ofstream::binary);
        t[0].s="hello";
        t[1].s="world";
        t[2].s="!";
        output.write((char* )t,3*sizeof(Test));
        output.close();
        delete[] t;
        ifstream input("file",ifstream::binary);
        Test in[3];
        input.read((char* )in,3*sizeof(Test));
        input.close();
        cout<<in[0].s<<in[1].s<<in[2].s<<endl;
        return 0;

 

}

(1)找出程序中的错误,如何修正
(2)stl中string的内存管理方式
(3)用C实现一个可变长字符串,要求方便高效。

 

3.大型系统多采用数据库存储数据,但访问量很大,所以要用cache,又因为数据规模也很大,所以用分布式管理。有一个查询语句 select
pid uid content from ltb where fid = FID & power = POWER order by pid.查
询的差别就是fid和power的不同。根据上面信息优化上面的查询语句。
现在请设计一个方案用来实现下面两个目标:
1).可实现查询,更新命令
2).能够高效地查询更新
请给出:
1).核心的数据结构和算法
2).描述存储方案
3).给出一个查询和更新过程。

 

 

http://groups.google.com/group/pongba/browse_thread/thread/a5abc11899e04006

一个计算机系统包含以下原子操作:
1. 赋值
2. +1
3. 循环(确定次数的循环)
4. 只处理正整数和 0
5. 运算不会溢出

请在该系统上实现减法

 

--------------分隔符--------------

 

首先实现自减一操作:
tmp = 0
result = 0
loop(n) {
    result = tmp
    tmp++

}

循环执行后result == n - 1

然后利用该操作作为原语实现任意数的减法操作(假定a>b):
result = a
loop(b) {
    dec(result)

}

循环执行后 result == a - b

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics