深圳宜搜2013校园招聘 笔试回忆录

来源:互联网 发布:淘宝账号密码怎么修改 编辑:程序博客网 时间:2024/04/29 00:30

分C/C++ 和java、 hadoop、android、数据分析几大类,笔试题各不相同。后来java和hadoop做的相同的题。

我做的c/C++试题。两道选择题很简单。剩下的是大题:

1,写出你知道的排序方法,及时间复杂度及稳定性。至少五个

2,写出熟悉的Linux的命令 至少十个

3,现在有个数组如a[] = { 5 8 910 2 3 4}, 即数组不是一直递增的,而是分成两段递增的。在二分查找基础上写一个算法 进行查找。并写出时间、空间复杂度。

4,写一个函数从源字符串中,偏移m个位置开始取n个长度的子串。要求程序尽量完备。

我写的原型:char * get(const char*src, char *dst, int m, int n)

5,考察sizeof的用法,一共打印四个数据问是多少。全都在http://blog.csdn.net/yanzi1225627/article/details/7838877这篇文章的总结范围之内。

最后两道是设计题,还比较有新意,考察的都是多线程单线程的问题,看来关于线程和进程不能停留在概念上,要在编程上有所体现。这是我第一次在笔试的时候碰到要在写程序中体现多线程的问题。

1,封装一个类pool,要求你写出分配内存池的函数及释放内存的函数,要求在多线程下也可用。

两个原型给定了:void *pool::malloc(int size),  void pool::free() free里面有没有参数我忘记了,好像没有。这个题完全是蒙的。

2,设计一个key-value模型,key是索引 int型,value是字符串型,长度不超过1MB。要求能够在单线程下增加、删除,能在多线程下进行更新、查找,且查找的时候必须保证已经更新完毕数据。  致就是这意思,跟搜索很相关的一道题。(有思路的大牛请多多赐教哈。。。)

 
原创粉丝点击