存档在 ‘笔试面试’ 分类

常见面试题目

2013年7月19日

1. memcpy memmove strcpy strncpy写代码实现,这里主要就是注意边界控制等细节。

2. 写代码实现String类,包括构造函数,拷贝构造函数,赋值函数,析构函数等。还有实现strreplace方法,用给定的replace串替换其中的pattern串;实现trim方法,就是删除字符串左右两边的空白字符。
3. 写代码实现单链表反转,递归以及非递归方法。
4. 写代码实现单例模式实现,如何让一个类不能被继承等。
5. 写代码实现去掉一个串中给定的所有字符;写代码实现判断给定的串haystack是否包括串pattern,这里包括的意思是,haystack中包括pattern中的所有字符,并且每个字符数量上也要大于等于pattern中的每个字符,字符顺序没有要求。
6. 给你行程编码算法的思想, 主要思想是一个字符连续出现多次,那么前面加个数字表示其次数,如aaaa, 可以编码为4a,当然在编码的时候还要加上控制字符,用来标识这里的4到底是后面a出现的次数还是本来就是一个4. 所以编码后的格式是:控制字符+次数+字符。写代码实现 。
7. 写代码实现快速排序、归并排序等,归并排序可能有多路归并实现。
8. 写代码实现求数组中最长递增子序列,连续子数组最大和等问题。
9. 写代码实现简单的内存池。
10. tcp/ip协议相关问题,IO多路复用问题,select, poll, epoll等。
11. 如何实现key-value的存储,100G内存,1T硬盘,支持快速的增、删、查操作,这里主要问题在如何快速支持硬盘上的删除操作,并将删除后的文件漏洞补上。
12. tail命令如何实现,tail -f 如何实现。
13. mmap相关,read, fread, mmap性能相关。
14. hashmap和树形map性能差异。
15. 如何快速找到某点附近的点,lbs相关。
16. 20个杯子,5个朝上,15个朝下,每次翻动且只能翻动4个杯子,最少几次能将所有杯子全部翻向上。
17. 1~100个数丢失了2个数,怎么找到2个丢失的数。
18. 向量a,b,每一维要么是0,要么是1. 如何快速求余弦cos(a, b) = <a, b>/ (||a|| * ||b||)
19. c++多态,虚函数机制等。

20. 多线程、多进程差异,性能等。多线程、多进程的通信与同步等。

21. 拓扑排序
22. 写代码实现字符串转整数,这里注意考虑符号问题。

23. 从不知道大小的很输入流中随机取n行,讲清具体的原理。

大阿里的一道笔试题

2013年5月4日

C++里对象构造时,内部的构造顺序这个很重要,一般有点C++基础的人都会知道。但是,但是有时候会另你防不胜防。来看看大阿里….

#include <iostream>
#include <typeinfo>
using namespace std;
class A  
{  
public:  
    A()  {    cout<<"A"<<endl;    }  
    ~A() {    cout<<"~A"<<endl;   }  
};  
class B:public A  
{  
public:  
    B(A &a):_a(a)  
    {  
        cout<<"B"<<endl;  
    }  
    ~B()  
    {  
        cout<<"~B"<<endl;  
    }  
private:  
    A _a;  
};  
int main(void)  
{  
    A a;
    B b(a);
}

这个题目的输出为?同学将这道题发我的时候,我做的也比较粗心,结果当然错了。
我给的答案是

A
A
B
~B
~A
~A

我的想法是:
首先A a,构造A这个对象,会调用A的构造函数,输出’A’
接着执行 B b(a),派生类对象构造时先调用基类构造函数来初始化派生类对象的基类部分,所以输出‘A’
接着继续B对象的构造,所以输出‘B’
至此,a,b对象已经构造完成。

释放呢?
首先释放派生类对象的派生类部分,输出‘~B’
接着释放派生类对象的基类部分,输出“~A’
接着释放a这个对象,输出‘~A’
» 阅读更多: 大阿里的一道笔试题

2013腾讯校园实习招聘一面面试题

2013年4月18日
  1. 使用什么手机,什么操作系统,安装哪些软件
    我答得nokia,塞班,安装了QQ,等,反正各种瞎扯。
  2. QQ浏览器与UC浏览器比较
    UC浏览器对网页排版做得更好,等等各种扯。
  3. 你觉得浏览器开发的注意点
    UI,速度,占内存,省流量等等各种
  4. (因为我介绍了项目中使用设计模式)你在项目中用了哪些设计模式?(我介绍了好几种,好像他只懂单例)
    说了一些关于中介者,观察者,单例方面的知识。
  5. (根据项目)是否可以将最短路径算法加入
    各种扯。。。
  6. (根据项目)项目中应用了哪些数据结构,算法,还有一些细节的处理
    这个是我最清楚的,也是各种扯。。
  7. (根据项目)项目中使用的平台,编译器,调试相关
    这个一句话答完。
  8. 对泛型模板熟悉吗?为什么使用泛型模板,问了几点泛型编程相关的东西
    答了些基础知识
  9. map内部实现
    红黑树
  10. 为什么使用红黑树而不使用二叉树
    我答得是红黑树是平衡二叉树,普通二叉树则容易退化成线性序列。
  11. 为什么使用红黑树这种平衡二叉树而不使用其他平衡二叉树
    我答得是红黑树可以自动调节平衡。
  12. <STL源码剖析>读后感
    这就是各种扯了。。。
  13. 平时获取信息的来源。有自己的博客吗?
  14. 虚函数实现
    介绍了一些基础知识
  15. 如何提供网络吞吐量,怎么优化
    听到这个问题有点懵,最后回答的是可以采用多线程,多进程,异步等。
  16. select epoll的区别
    epoll可以支持更多得文件描述符。结果面试官又问为什么epoll支持更多的描述符。我直接说epoll下分配给每个描述符的内存与资源更少。  面试官好像不满足于这些答案,我觉得应该加上epoll支持两种触发方式。
  17. select epoll内部对描述符管理采用的数据结构
    这个我完全不知,我回答的是可能使用了二叉树或者HASH表吧。
  18. 项目中是否有多线程,多进程。多线程与多进程的区别。
    这个就是各种扯了。但是有一点好像面试官比较赞同。那就是一个线程崩溃会导致另外一个线程崩溃。
    (题目不分先后,有的先问有的后问)

答得一般,希望大神保佑,赐予我一个二面。

2013-04-13腾讯校园实习招聘成都站题目与参考答案

2013年4月14日

该题目来源于同学给我的照片稿。

录入是我花一个小时敲好。

答案是我自己考试和考后反省所得。

http://pan.baidu.com/share/link?shareid=400976&uk=1645707199

2013-04-13腾讯校园实习招聘笔试有感

2013年4月14日

昨天去成都参加了腾讯2013校园实习招聘,一方面感概我校地理位置带来的严重不便,更感概的是一些基础知识的遗忘与欠缺,特别是操作系统原理,很多知识点都很模糊,答题时明显吃力。总体答的情况还算平稳,但是几道很简单的题,因为粗心做错了。

 

嘿嘿,本来就是想去感受感受气氛,还是希望能收到一面。

一道概率笔试题

2013年4月12日

已知中国人的血型分布约为A型:30%,B型:20%,O型:40%,AB型:10%,则任选一批中国人作为用户调研对象,希望他们中至少有一个是B型血的可能性不低于90%,那么最少需要选多少人

 

需要的结果:至少有一个是B型血的可能性不低于90%,也即是一个B型血都没有的概率是 10%

不是B型血的概率为1-20%=0.8

假设选取了N个人,则(0.8)^N <= 0.1

二叉树具有以下重要性质

2013年4月11日

二叉树具有以下重要性质:
性质1 二叉树第i层上的结点数目最多为2i-1(i≥1)。
证明:用数学归纳法证明:
归纳基础:i=1时,有2i-1=20=1。因为第1层上只有一个根结点,所以命题成立。
归纳假设:假设对所有的j(1≤j<i)命题成立,即第j层上至多有2j-1个结点,证明j=i时命题亦成立。
归纳步骤:根据归纳假设,第i-1层上至多有2i-2个结点。由于二叉树的每个结点至多有两个孩子,故第i层上的结点数至多是第i-1层上的最大结点数的2倍。即j=i时,该层上至多有2×2i-2=2i-1个结点,故命题成立。
» 阅读更多: 二叉树具有以下重要性质

二叉树基础知识-笔试知识点

2013年4月11日

对于任意一棵二叉树:
对于任意一棵二叉树如果度为0的结点个数为n0,度为2的结点个数为n2,则n0=n2+1。
对于一棵完全二叉树:
度为1的节点数要么为1,要么为0。

例子:二叉树中度为1的节点有8个,度为0的节点有3个,问这颗二叉树总共有多少节点?

设总的节点个数为n,则n=n0+n1+n2;n0=n2+1; 带入后得到13

例子:已知完全二叉树,共有500个节点。问度为0,1,2的节点各多少?
通上的计算!