淘宝校园招聘清华笔试试题
一、
选择题
1. DB、DBS、DBMS 之间的关系
DBS 包括 DB 和 DBMS
2. char* s1 = "hello"和 char s2[6] = "hello"哪个效率高?
基本可以认为效率一样
网友解答:指针和数组的执行机制是相同的,都是按指针方式执行的,数组在实际执行
时先由编译器转换成指针解释。严格来说,指针肯定比数组效率高——高一点点,现代
编译器对此的优化使两者几乎完全看不出来,其实他们效率的差距本来就非常小。
3.const int* a = &b;
const* int a = &b;
const int* const a = &b;
int const* const a = &b;
这里面哪两个效果相同?
传说是后两个,具体待研究
4.下面能判断一个数是符号数还是无符号数的是
#define isUnsigned(X) (x >= 0 && ~x >= 0);
#define isUnsigned(X) (x < 0);
#define isUnsigned(X) (type) ((type)0-1 < 0);
#define isUnsigned(X) (type) ((type)0-1 > 0);
二、
填空题
1. 线性栈,入栈顺序是 s1,s2,s3,s4,s5,s6,出栈顺序是 s2,s3,s4,s6,s5,s1,问栈的大
小最小是多少?
2. Linux 里查看文本文件的命令,4 个
3. 利用 linux 命令 cat, uniq, sort 找出 file1 中存在,file2 中不存在的文本行
4. 1,2,3,4,5,6,7,8,9,将数字都用上,以满足下面的等式:
_+_*_=_
__+_-_=_
5.
class Class1{
char contents[0];
};
class Class2{};
sizeOf(Class1)和 sizeOf(Class2)分别是多少
两个都是空类,空类的 size 为 1,仅有一个 char 型的标志,标明实例对象的位置
三、
Java 职位必答题
1.
public class ThreadTest {
public static void main(String[] args) {
System.out.println("start");
new Thread(new Runnable(){
public void run(){
System.out.println("step2");
}
}).start();
System.out.println("step1");
new Thread(new Runnable(){
public void run() {
System.out.println("step3");
}
}).start();
System.out.println("end");
}
}
问:1.输出是什么样的,为什么?
2.若要按 start step1 step2 step3 end 的顺序输出,应该如何修改
2. 回忆不一定准确。。。
大数据量的系统,一般是数据库只负责存储,而由外部的搜索引擎来实现数据的查找,
你认为系统设计的关键点是什么?如果让你设计,你会如何实现?
四、
综合题
太长了,不细写了。。。
就是如何在海量网页内容当中查找关键词,例如“阿迪达斯 09 新款红色 T 恤”,还要分
析你方法的效率如何。
另外就是,内容中可能会有“阿迪达斯 09 T 恤”之类的短的关键词,如何优先查找出
长的关键词。