返回信息流[ 用户 buptinside 在转载时对文章内容进行了编辑 ]
发信人: buptinside (洞庭湖的麻雀), 信区: Job
标 题: 贴实习面经
发信站: 北邮人论坛 (Sun Mar 21 20:59:05 2010), 站内
** 1. 百度
一面, 一个北邮的gg,主要是了解知识背景,问的很泛,简历过了一遍,然后就是聊天性的问答了。
* 内存管理 malloc/free, 这里我说了一下malloc 的简单实现,K&R C[1] 上面有介绍。
* vim 中怎样替换一行,怎样回到首行,最后一行。
* 父子进程间共享了哪些信息,怎样共享的,环境变量是否会共享。
* 进程锁机制,信号量机制,管道如何实现。信号量机制实在忘了,只好老实交代不会。
* 管道怎么使用。
* C++中delete 与 free 的区别,不知道。。
上面所有与Linux有关的知识全部都可以在APUE[2]中找到,看来这本书还是要再仔细的读读。
期间主要根据自己说的来问,中间我说到了我做过的东西:
* 论坛登录器, python
* 邮件发送器, python
* 象棋引擎, 说了一下象棋设计的基本思想,用户界面+引擎部分,引擎的基本原理。
* 两个项目中的角色。
二面,一个JJ,相当nice。问的比较少,主要考察综合能力吧。
* 为什么选测试这个职位,推荐的人与你什么关系。
* 堆栈的区别,内存泄漏是什么意思。
* 算法题,给定一个由多个单词组成的集合,如果一个单词的最后一个字母是另一个单词的第一个字母,那么可以从第一个单词向第二个单词划一条有向线段,问所有单词能否构成一个封闭的环。
这里主要与面试官交互式的表达自己的想法,首先想到的是每个单词中有效部分只有第一个字母和最后一个字母,所以可以只考虑这两个字母,抽象出具体的问题。考虑到连线,想到了图论,如下图所以,第一个单词可以向第二个和第三个单词划一条有向线段。最终就是要找一条经历过所有点的简单闭路径。然后面试官笑了笑说差不多了,这个叫做最小连通分量。
a...m
m....k
m....d
* 一个自动售货机要出产了,怎样测试它,想出尽可能多的需要测试的地方,然后针对具体的找零钱考虑需要测试的地方。
* 假如在产品即将发布的时候,你发现了一个bug,提交给R&D之后,他们认为这个bug出现的几率非常小,为了尽快发布产品,决定不处理这个bug,你将怎么做。
三面,一个gg,看上去挺严肃。
又是介绍项目,没法忽悠了,感觉说了几下就被问的没法继续说了。
根据简历又问了几个问题。
* 参加ACM校赛的经历。
* Java用的多吗? 我简历上可是写了熟悉Java啊。。我说了句就写过helloworld, 把那gg逗的笑个不停。
* shell怎么实现统计一个文本中某个字符串出现的次数。
* 一个文件中有若干行,每行固定9个字符, 五个数字(0~9),中间用空格隔开,怎么统计具体某个数字出现的次数,不要使用grep了。 这个真不会,只好直说,然后说我只能用C来实现了。 然后他问了下对awk熟悉多少,也就听说过的水平,知道有这么个东东。。
差不多就是这么多内容了,主要就是根据简历问的,所以对写在简历上的东西还是必须非常有把握,至少能忽悠个十来分钟没重复的话。 需要继续看的内容是shell编程, 具体的awk,sed,vim,都要会用,tr, find,grep都应该知道点。APUE这本书也得继续看,然后就是算法导论,基本就是这几本书,项目最好能多说点。
[1]K&R C, The C Programming Language.
[2]APUE, Advanced Programming in the Unix Environment.
09/11/2009
** 2. Adobe 2010年校招笔试, 当时在对外经贸笔的,纯粹去抄题目 - -||
1. 实现快速排序。
2. 编写一个数据结构,实现大整数除法。用一个数组来表示大整数。
我说了下思路,就是化作大整数的减法来做。
3. 题目给出欧几里得求最大公约数的实现,请证明其正确性。
int gcd(int m, int n)
{
if(m%n != 0){
return gcd(n, m%n);
}
return n;
}
【注】 原题给的是非递归实现, 我想不起来来, 这个递归是我自己写的。
这个证明算法导论书上有很详细的解答,用 循环不变式。可惜啊可惜, 看过很多遍就是写不出来。。
4. 给一根小木棍,随机切成三段,求它恰好能够构成一个三角形的概率。
5. 给出一个线性规划及其约束条件,要求写出算法步骤,不要求实现。。
已知一个整数X, 以及两个数组X1,X2,...,Xm; K1,K2,...,Km.
如果一个数组 n1,n2,...,nm
使等式成立: X1*n1 + X2*n2 + ... + Xm*nm = X.
并且满足如下约束:
0<=n1<=K1,0<=n2<=K2,...,0<=nm<=Km
那么称n1,n2,..nm这个数组为一组解。
要求求出所有解中 n1+n2+...+nm最小的一组。
** 3 腾讯研究院实习
一面, 一个年轻的工程师, 最近从M$跳过来的。
Q: 其实不用穿这么正式的,这边都比较随意。
A: 我知道,但是为了显示我的重视, 我还是穿的正式一点了。
Q: 不错,凭这点,我给你加分啊。
Q: 讲讲你在百度的实习经历。
A: blah blah...
Q: 两道题。
1. 用C/C++写一个函数实现如下功能。函数原型char * Reverse (const char *pStr);
假如字符串pStr中含有空格(用下划线_表示): This_is_a_cat
将其转换为cat_a_is_This, 并且要求所有空格的相对位置不变。
解答:将“所有空格的相对位置不变”理解错了。看到这个题目一下子就想起了去年校
赛时的一道题,基本是一模一样啊【boj 1503】。
很快就写完了, 考虑了函数参数为NULL, 内存分配失败出错处理,字符串中有连续字
符,首/尾字符为空格等情况。
但是后来告诉我说,要求的是空格相对位置不变,
如输入This_is_a__cat 要求输出 cat_a_is__This。
不过函数风格写的还可以,各种异常都考虑了,面试官给予了肯定。
2. 开放性问题, 如何测试百度地图和Google地图的准确性 - -||
在一再指点下慢慢的挤了点东西出来, 很囧!
一面就这样算完了。看来算通过了, 要不然应该就不会有二面了。
二面, 一个年纪稍微大点的工程师,应该是总监级别的。
问了比较多的开放性问题。
Q:在百度待了那么长时间,有没有考虑回百度继续。
A:我非常希望能加入QQ。blah...
Q:为什么先去了百度, 再来QQ。 不是一般来讲都认为百度更难进吗?
A:blah blah....
Q:如果让你选择开发和测试, 你怎么选?
Q:有没有什么职业规划?
Q:用过腾讯的什么产品?
Q:刚来北邮时有什么不习惯的吗?
Q:你怎么看北邮?
Q:给你个水杯, 怎么测试它?
Q:这个房间呢?
Q:参加过马拉松?
A:是啊, 我还把参赛证书带来了呢!(拿出证书)
Q:平时都跑多少啊?5km的成绩怎样?一周跑几天?今年还不跑?
A:blah.....
Q:好了, 差不多就这么多了。你在学校也西装领带的吗?
A:不是的,我经过慎重考虑,才决定正装过来的。
over,让回来等通知。。
这是一条镜像帖。来源:北邮人论坛 / parttime-job / #159808同步于 2010/4/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ParttimeJob机器人发帖
贴实习面经 (转载)
buptinside
2010/4/10镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。