同学PB经历的面试题

来源:互联网 发布:centos 6.7 破解密码 编辑:程序博客网 时间:2024/05/21 22:37

7.15云壤

笔试:1小时。4个选择题,概率+多线程+排序+C++程序找错;2个编程题,LCA问题,3种方法,单链表相邻交换,Data类型不可copy constructor

 

1面:1小时。整数组,前k大,写完整的堆程序;一个int型数,求其二进制中1的个数,更优?;两个单链表交叉不?中心点?(Y型)

 

2面:1小时。N*M二维数组,“蛇形”打印程序,4种状态;Decorator设计模式;Linux堆内存空间分配程序,链表,小心。

Offer

 

9.07情感分析和文本处理算法

笔试:

c/c++基础部分。

  1. c++的析构函数为何为虚函数?
  1. C++string类实现?(strlenstrcpy
  2. 给的NM,实现二维数组?cc++
  3. C++的内存泄漏方式及预防方法?

算法和数据结构部分。

  1. 单链表操作
  2. 遍历一次找出单链表的倒数第m个元素?(法一:双指针;法二:int数组记录节点地址)

Reject

 

9.13 阿里云电面(自然语言处理,手写识别引擎)

1.    归并排序,快速排序的主要思想,复杂度?

2.    Stl里面sort使用什么算法实现的,为什么?

3.    C++引用,指针的区别?

4.    简述stl里的容器有哪些?各个容器的特点?

5.    给定一个无序整数组,求最大连续子段和?(扩展,求最大m子段和?)->经典dp问题;

6.    区间[0, 1]内每个实数的概率相等,设xy为该区间内的实数,问x+y <= 2/3的概率为多少?->线性规划(1/4圆与直线所围成的图形的面积问题);

9.14 阿里云二面

1.     一个无序整数组的前k大数:k堆排序;k快速排序(改进的)

2.    快速排序的代码,。

3.    扩展(给定一个无序整数组,求最大连续子段和?)问题:给定一个二维整数矩阵(n*m),求和最大的子矩阵?f(i, j)表示矩阵的第i行到第j行区间所能得到的和最大的子矩阵。求f(i, j)的问题划归为(给定一个无序整数组,求最大连续子段和?)问题。

Offer

 

9.15 百度信息技术部(首创空间大厦)业务实习研发工程师

主要是java方面的:

设计模式;

抽象类;

引用、指针;

纯虚函数问题;

Java方面用过的所有技术,。

无算法、无数据结构;

Reject

 

9.16 淘宝面试(自然语言处理,信息抽取)

一面:

  1. 编程int atoi(char *a);(异常的处理)
  2. 进程与线程的区别;
  3. 编程:单链表的逆序void reverse(List *& phead)
  4. 将公司里所有的员工按照年龄排序,。(展示:姓名,性别,职位等基本信息)

二面:

  1. 内存4G,一个文件2G(该文件里有很多行字符串,每行字符串的长度不超过256B,字符集为26个字母,设一共有n个字符串),如何将重复的字符串删掉(剩一个字符串);->Trie树,n个叶子结点,故一共有2*n-1个结点。故所占的空间大小为2*n-1
  1. 计划生育问题:假定现在的计划生育政策是这样的,可以一直生下去,直到生男孩为止,问这会导致男女比例失衡吗?
  2. 描述最小生成树的两种实现方法的主要思想;

三面:

  1. (ab | b)*b+的有限状态机
  2. www.alibaba.com转化为com.alibaba.wwwc函数:要求辅助空间最小。int change(char *&str);    两次逆序问题。

Offer

 

有道研发工程师

6.23 笔试

1.    c++的基类、派生类构造函数、析构函数的执行顺序。

2.    概率问题,博弈论问题

3.    编程:已知二叉树的前序、中序遍历,求二叉树的后序遍历。(c++递归实现:很简单)

4.    编程:给定一个字符集,和一个字符串,求包含所给字符集的最小连续字串问题。(一个int count[]数组,两个标记指针frontrear),复杂度O(n)

5.    一个n维空间的问题:做了十来分钟没思路,,,

6.26 面试

先鄙视了项目经历(你没做什么,。)

接着鄙视了算法、数据结构(算法方面做过什么研究?平衡二叉树,后缀数组)

鄙视,。,。,。

Reject

 

5 QQ

笔试

  1. 编程c++负载均衡器
  2. 编程对象的序列化和反序列化java
  3. 编程(一个数组中,出现次数超过一半的那个数)

一面

  1. 编程单链表反转
  2. Android方面的问题,shellcode方面的问题,。唉,答的好处戳,。
  3. 进程、线程的区别
  4. 好久了,搞忘了,,,,

 

二面

自我介绍,面试官接了个电话,然后,,,就没有然后了,,,叫我回去了

Reject

 

5 百度

笔试

  1. Extern c
  2. 设计模式
  3. Tcp的三次握手方面
  4. 编程词法分析
  5. 编程,,,搞忘了
  6. 分析题:urlipdate问题

一面

  1. Bitmap问题:查询一个int数组中的某个数是否存在?
  2. 大规模数据处理问题:搞忘了
  3. 搞忘了

二面

  1. 编程KMP算法,当时没写出来
  2. 百度推荐词是用什么方法得到的,。
  3. 图像识别问题:穷追不舍,,,

Reject

 

6月、7月百度

一面

  1. 编程char *copy(char *dest, char* source);记不清了
  2. 大型文件系统的设计题:hashcache,页面替换算法(一路扩展下去)

二面

  1. 一个无序整数组的第二大问题(最少的比较次数)
  2. 编程char *itoa(int num);注意细节的地方,特别是一些特殊值,比如num0的时候。
  3. 大规模数据处理问题

三面

简单的技术;

聊人生,,聊理想,,。。。。

打算:先做做看,找兴趣(哈哈,,,太老实了,,,)

Reject

 

6 搜狗

笔试

C++基础题

C++编程题:变化了的有序整数组的二分搜索问题(4, 5, 6, 7, 1, 2, 3),复杂度O(lgn)

   动态规划问题,搞忘题目了,,,

   还有一个难题搞忘了,,,

面试

问信号量、锁、条件变量是怎么实现的,,,,,囧了

统计一个文件里面出现次数最多的k个字符串(经典的mapreduce问题)

Reject

 

6 adobe

笔试

C++默认空类

C++里面const char *, char const *, char *const的区别

一个测试题

面试

设计模式

C++ stl

Shellcode

,。。。

Offer(测试开发工程师)

 

56 人民搜索

笔试

选做题,挺有难度的,好多不会(很活)

编程题:

  1. 变化了的有序整数组的二分搜索问题(4, 5, 6, 7, 1, 2, 3),复杂度O(lgn)
  2. 整数的四则运算(两个栈来模拟)
  3. 简单Dp问题(搞忘了,反正是常见的应用)
  4. 搞忘了,挺难的(找出m个负载点,使得神马神马最小问题)

Reject(做得不错,但是。。。但是没投简历,,,,,,)

 

6月淘宝

面试

  1. 编程二维数组的遍历问题(4种状态)
  2. 编程最长回文子串问题(逆序后的dp;或者找中心点;复杂度都是O(n*n),利用扩展KMP、或者后缀数组复杂度可达到O(n)
  3. 数字化的整数转化为汉语的大写表示(200324:二十万零三百二十四,特别注意一些特殊情形,,,0的问题)->4个数字一组。。。
  4. 搞忘了,,,

Reject(面得很不错啊,结果结果,,,没回音了,,,)

 

919(一、二面);922(三面);百度商务搜索部

一面

  1. 项目方面,c++方面简要问题
  2. 单链表的删除、插入操作(相邻的第奇数个节点和第偶数个节点相交换)
  1. N个整数,写一个概率发生器,使每个整数被选中的概率与其大小成正比(先使最小的数归一为1,算出所有归一后数的和(算出所有的前i个元素的和sumi),接着利用rand()函数产生0~sumn-1的数)
  1. N个整数,其中两个整数出现奇数次,其余的N-2个元素出现偶数次,找一个最优的算法来找出出现奇数次的那两个数(所有数异或,按位异或)
  2. 大规模数据处理(两组无序整数,找出相同的数:bitmap或者hash+mapreduce
  3. 概率(54张扑克牌,抽取2张为一红一黑的概率):组合法,或者排列法

 

二面(紧接着一面)

  1. 项目方面问得比较详细
  2. Float转化为char*
  3. 大规模数据处理(n个数,求第k大数)
  4. 一个有序数组断裂后(567123)查找key是否在这个整数组中(o(lgn)算法)
  5. C++虚函数实现机理,以及拓展A a(其中类A中有个虚函数),memseta0sizeofa));可否?
  1. 大规模数据处理,,

 

三面

  1. 非常详细的项目实习问题,,
  2. 栈的pushpopmin操作,,,要求时间复杂度为o1
  3. 倒排索引有很多广告,如何等概率地随机选出一个广告来
  4. 随便聊聊,如何给用户投广告,,,

offer

原创粉丝点击