腾讯面试题

hahayezhe112 2011-08-03 04:57:57
最近腾讯来电话说我初试过了,但是很遗憾,通知得到的太晚了,都已经在新公司入职一天了。所以拒绝了腾讯的复试。
说不伤心那是假的,大公司谁都向往。

面试的职位是QQ安全管家部门
初试时,首先通过手机聊了一堆,问了线程、进程等很多问题,比如:多进程的线程同步、共享内存的用法等。

笔试题1:
struct student{
virtual void fun(){
m_i = 0;
}
static int m_i;
};//...1
struct student{
void fun(){
m_i = 0;
}
static int m_i;
};//...2
int student::m_i = 0;
int _tmain(int argc, _TCHAR* argv[])
{
student *m_p = 0;
m_p->fun();
return 0;
}

1和2两种情况谁会崩溃
我的答案:1崩溃,2不会。原因1会根据m_p的指向的类型,再根据该类型的虚指针去虚函数获取函数指针,
可以写成该伪代码 :m_p->ptr->fun(),显然ptr是未知的崩溃。

笔试题2:
有个byte字节(8位) ,统计1的次数,如1011 0010 1出现的次数是4(最大限度的优化)
我的答案:
int i=0;
for(int j=0;j<8;j++){
if(_byte&1)i++;
_byte>>1;
}

最后就是上机题:
给个文件:文件里无数个单词,
用MFC编个对话框,在编辑框中输入字母,然后再下面的编辑框里能显示出最佳匹配的前100个单词
时间2小时

我的思路就是首先根据首字母读一次文件,将首字母符合的所有单词放入一个vector里,在根据排序需求对vector进行sort排序,根据后续的字母针对vector进行操作, 每次输出仅从vector里取前100个

做出来后,面试官问如果该文件里的单词已经排好序是否有其他更优方法,
当然有,空间换时间,对每个最近匹配的做个标记,开始标记、结束标记,

比如 以a开头的做个标记 以aa开头 以aaa开头的都做标记,有点类似于广义表的形式,大集合包含小集合,小集合再包含集合。

不过面试官离开时没说消息通知的时间,所以回去后就接受另一家公司的offer。
面试大公司就这点烦心,没小公司来的爽快。

在这里总结一下,给后来的面试者提供点经验- -
...全文
2031 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
唱歌的河马 2013-03-04
  • 打赏
  • 举报
回复
这三楼,真装
唱歌的河马 2012-08-17
  • 打赏
  • 举报
回复
三楼你他妈的少装点逼会死啊?
piaopiaolanghua 2011-11-24
  • 打赏
  • 举报
回复
第二题《编程之美》上面有多种解答方法,看来那本书还是很有用的,是微软的员工写的
piaopiaolanghua 2011-11-24
  • 打赏
  • 举报
回复
第二题,统计byte中的1的个数,《编程之美》上面有,看来那本书还是值得一看的。

byte a[256] = {0,1,1,2,...};
空间换时间
samako 2011-08-05
  • 打赏
  • 举报
回复
呵呵,碰到这种大公司的面试,只能说无语了
野男孩 2011-08-05
  • 打赏
  • 举报
回复
前面2个题比较简单,最后那个有点麻烦,最优匹配这种概念比较模糊,左匹配优先呢还是公共字串总长度最大优先等等。。。
yah606060 2011-08-05
  • 打赏
  • 举报
回复
学习 学习 长见识了
leighjian 2011-08-04
  • 打赏
  • 举报
回复
mark
liuhex 2011-08-04
  • 打赏
  • 举报
回复
顶一下
liutengfeigo 2011-08-04
  • 打赏
  • 举报
回复
不是很变态.
KWDIWT 2011-08-04
  • 打赏
  • 举报
回复
学习了
xiang235 2011-08-04
  • 打赏
  • 举报
回复
居然能碰到你,呵呵。知道我是谁吗?何... 哎,可惜啊!
jernymy 2011-08-04
  • 打赏
  • 举报
回复
谢谢楼主分享
abc1987123 2011-08-04
  • 打赏
  • 举报
回复
原来这么难。。。。。
yby4769250 2011-08-04
  • 打赏
  • 举报
回复
我觉得应该用字典树,当输入如ab字母时,查找以ab为前缀的前一百个单词便可,开始时只创建一次树,后面的就都是在树中查找了,这个应该可行
AndyZhang 2011-08-04
  • 打赏
  • 举报
回复
第3题用Trie字典树不知道可以么,建树时间好长
感觉应该可以
nand库路泽 2011-08-04
  • 打赏
  • 举报
回复
抢个座!
acdbxzyw 2011-08-04
  • 打赏
  • 举报
回复
学习。。。
huanzhile 2011-08-04
  • 打赏
  • 举报
回复
谢谢LZ分享经验
pathuang68 2011-08-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 babilife 的回复:]

我要面试,凡是让我答题,上机的,一律走人,哈哈

谢谢楼主分享
[/Quote]
资深人士都是这个范。
加载更多回复(18)

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧