金山办公2014暑期实习招聘笔试之旅

6月4日晚上,同学在群里贴出了金山办公2014暑期实习招聘的截图,我看了之后顿时来了精神,都这个节骨眼了还有暑期实习招聘,难得啊!注意了下发布的职位,有C++开发工程师,JAVA开发工程师,IOS开发工程师,测试和其他职位,正好前几天捣鼓了一份简历出来,于是选了JAVA职位,投了出去。

之后就一直等啊等,但是等到6号上午,都没收到反馈。心想莫不是JAVA职位已经满了?于是又改成C++的,结果两个小时后,收到7、8日在长沙参加WPS校招宣讲会短信通知。

因为投的是JAVA,所以这几天特意找了本java的基础书看了看,又找了本数据结构和算法的,但是直到参加笔试,都没打开过。

6月7日下午考完期末考试后,赶紧收拾收拾直奔长沙理工大学。到达时已经是六点多钟了,然后同学陪我草草吃了晚饭,便匆匆忙忙奔向笔试地点。到考场时刚好开始笔试。整个考场稀稀落落坐了一些人,讲台上一个长得还算漂亮的眼镜MM在讲着考试的注意事项。这跟我心中所想的招聘会相去甚远,顿时就有点小失落。最令人坑爹的是,WPS来长沙招聘是不招JAVA的,只有C++和测试两个职位。我对那个MM说出了自己的疑问后,她跟我解释了下,然后又问我还打不打算参加笔试,我想,既来之则安之,看看是什么题目吧。

接到试卷后,翻了翻,只有两页纸,题目不算多。前面还是属于调查之类的题型,然后是c/c++混合在一起的单选题,之后是五道综合题。单选题比较简单,还好没有把C++全忘掉,快速完成单选后,开始进攻综合了。粗略阅读了下五道题目,感觉跟平时做的数据结构和算法题很不一样,很多都没见识过,不知道怎么下手。没办法,一道一道啃吧。

下面凭我记忆给出五道综合题:

综合题(长理站)

1.给定 一个int型的整数,编程输出其LED显示屏形式。如0为:

 --- 

|    |

|    |

|    |

 ---

每个数字之间用空格分开。


2.给定一个矩形和圆,求其相交部分的面积。函数原型是:

double area(Circle c,Rect r);

提示1:考虑十字交叉线与圆相交的情况,再组合解决问题

提示2:如果没有思路,给出一种近似求解的方案,并给出精度。


3.假如有一个工程要进行移植,需要将源代码中字符串格式为L“content of string”替换成_X("content of string"),如:

L"hello"->_X("hello");

L”I am \“ you "->_X("I am \“ you ")

假如你是该工作的负责人,你将如何解决该问题?

可以使用任何文本编辑器,任何工具和开发语言,写出关键步骤。如果用开发语言(脚本语言),给出关键代码。


4.有一个类:

BitMap{

int width();//图像宽度

int height ();//图像高度

Color color();//获取某一点的颜色(很奇怪为什么没参数)

void setColor(Color v);//设定颜色

}

和一个函数原型:

fill(BitMap &bmp,int x,int y,Color c);

试完成该函数,实现:修改给定点的连续区域的颜色为给定的颜色。在该区域内任意点到指定点存在一条路径,该路径上的颜色一致。(这里记不太清了,可能落掉了一句话)


5.题目大意:c++的编译器将源程序最终编译成XXX.EXE文件(XXX,如果在Linux上)。假如有如下文件:

head1.h,head2.h,src1.cpp,src2.cpp,main.cpp

试给出某编译器将这5个文件编译成XXX.EXE文件详细过程,如果熟悉某编译器的话,请给出编译过程中每一步的命令行。


勉勉强强做完这五道题,交卷时考场已经没几个人了。

好吧,第一天算是吸收经验,第二天,我几经周转,又来到了校招第三站——湖南大学。

跟长沙理工大学不同,我在湖大没有同学,没办法,只有自己找宣讲会地点咯。一路问过去,总算顺利找到了教室。

刚走到教室门口,看到三个人已经在里面了,于是问他们是不是WPS宣讲会地点,得到确认后,其中一个人突然说道,你不是昨天已经参加了吗?我一看,就是昨晚在长沙理工大学的那个MM。好吧,我说我是过来参加宣讲会的,而且你们也没限制不准参加多次(之前已经打电话得到确认可以多次参加)。他们不再说什么了,我便厚着脸皮找个位置坐了下来。

果然有宣讲会就是不同,到了下午两点,整个大教室就都坐满了人,后面还站着很多同学,看来金山WPS校招还是吸引了不少人。这次主持的是另外一个MM,美貌程度比昨天那个更胜一筹。前面差不多一个小时,是他们的工作人员在介绍WPS和金山企业。三点之后,笔试开始了。

拿到试卷后,发现综合题的第一题以及最后一题跟昨天的笔试题相同,于是刷刷刷写完,开始攻其他三道题。今天这个题目明显比昨天的要靠谱,至少思路什么的都有一点,不至于像丈二和尚摸不着头脑一般。悲剧的是,考到最后还剩半个多小时时,肚子开始疼起来了!勉强把三四题的思路写了下,就匆忙交卷去解决大事了。

至此,我人生中第一次笔试就这么过去了,结果要等到十天后才会出来,希望能过吧!


湖大站综合题(2,3,4题,1,5题同长理站)

2.有一个函数:

void unique(std::vector &v);

用来给数组去重,试写一段测试代码检查其正确性。

提示1:尽可能找出bug

提示2:你的代码应该返回int型,0表示测试通过,1表示出错。


3.有如下函数原型:

void transferToChinese(int num);(ps:函数名记不太清了,但是无关紧要)

该函数把小于一亿的int型数字转换成中文表示,如:

17:一十七;

110:一百一十;

12345:一万两千三百四十五;

10101:一万零一百零一

提示:注意零的情况。

拓展:考虑缩写情况,如:

17:十七


4.给出小球完全弹性碰撞公式:

V1 '=……

v2 '=……

(额,公式不记得了^_^)

和状态类:

Ball{

double mass;//球的质量

double speed;//当前小球速度,大于零表示沿坐标轴正方向

double p; //小球所处的坐标

}

以及函数:

process(Ball &ball_1,Ball &ball_2,int T,还有一个参数不记得了);

实现该函数,求T秒后小球的状态。


ps:由于记忆原因,可能部分题目描述不太清楚,甚至有错误,大家看看就好。


你可能感兴趣的:(金山办公2014暑期实习招聘笔试之旅)