群硕笔试题3

群硕的笔试在语言方面主要是Java和C++,夹了一道C#题,趁记忆犹新的时候记下来文章来源:过来人求职论坛$ A. o. V: p5 ^+ E! A+ k( ohttp://bbs.guolairen.com

一、给了一棵二叉树的前序遍历和中序遍历,要求写出后序遍历。文章来源:过来人求职论坛9 z$ n. D: w* d7 B3 m4 b( H1 T+ Whttp://bbs.guolairen.com
看一下数据结构就行了,很easy。提示:前序遍历的第一个节点为根结点,在中序遍历中根结点的左边节点是左子树,右边节点是右子树,如此递归。文章来源:过来人求职论坛6 B: `) Y' R" Rhttp://bbs.guolairen.com

二、什么是物理内存和虚拟内存,OS中为什么要使用虚拟内存?
看OS的书。
文章来源:过来人求职论坛0 C9 r& |" B+ F' U- U$ Phttp://bbs.guolairen.com
三、解释一下C#中的“delegate”。
原先不清楚的,然后在技术面试的时候问了一下面试官,原来类似于一个队列,队列中存的是函数指针(托管函数),运行时队列中的函数会在一个线程中被依次执行。
文章来源:过来人求职论坛- a# M& {- ^. ^& |/ ]http://bbs.guolairen.com
四、与子程序传递参数有哪些方法?文章来源:过来人求职论坛0 E7 s3 W# y7 y, a* A# B/ _http://bbs.guolairen.com
汇编题,我想起来三个:参数压栈、参数存寄存器、参数存数据段。文章来源:过来人求职论坛( f, U; W! d( d5 v9 vhttp://bbs.guolairen.com
文章来源:过来人求职论坛2 ^) v: g9 n% T* Whttp://bbs.guolairen.com
五、解释一下Java中的String和StringBuffer,什么时候需要使用StringBuffer?
核心是String对象是不变对象,连接、取子串等操作会生成新的对象,旧对象可能会被回收。StringBuufer则是可变对象,上述操作将在原对象上进行。文章来源:过来人求职论坛" \. I) ^9 i+ M' |2 O1 lhttp://bbs.guolairen.com

六、Java中哪些容器的默认布局器(layout)是BorderLayout?文章来源:过来人求职论坛1 M- y6 j' S1 H% @ L0 I/ d5 A* Ehttp://bbs.guolairen.com
这个不是那得很准,就写了JFrame及其子类,Frame及其子类。文章来源:过来人求职论坛! t" X* h' b9 N3 _/ Phttp://bbs.guolairen.com
文章来源:过来人求职论坛$ C( E5 \ z8 r& Rhttp://bbs.guolairen.com
七、一个C++的函数:文章来源:过来人求职论坛, `' c _3 g' m; j; w1 F' N9 zhttp://bbs.guolairen.com
int operation(int numberA,int numberB){文章来源:过来人求职论坛8 v0 R9 c2 S- ?2 {5 R6 bhttp://bbs.guolairen.com
return numberA + numberB;文章来源:过来人求职论坛1 Q7 w6 v. E9 O8 @ jhttp://bbs.guolairen.com
}文章来源:过来人求职论坛" g" s, l0 N @7 Rhttp://bbs.guolairen.com
然后声明了三个变量:
int a = 2;
int result1 = operation(5, a++);文章来源:过来人求职论坛! c' X& x3 W) \http://bbs.guolairen.com
int result2 = operation(5+a, ++a);文章来源:过来人求职论坛+ g( S% J( ~; q1 C% n! whttp://bbs.guolairen.com
问result1和result2的值。文章来源:过来人求职论坛2 e( k6 [0 B! @: E/ i1 y8 Mhttp://bbs.guolairen.com
原先以为考得是传值、传引用的问题,结果仔细一看考得是a++和++a的问题,这就简单了。文章来源:过来人求职论坛* ]7 I: a' m1 R6 Ahttp://bbs.guolairen.com
result1 = 7, result2 = 12文章来源:过来人求职论坛, ?& J) T% j& x9 Xhttp://bbs.guolairen.com
文章来源:过来人求职论坛4 F9 `; a, g2 Khttp://bbs.guolairen.com
八、如果父类的析构函数没有声明为虚函数的话在父类的指针上调用析构函数会有什么后果?文章来源:过来人求职论坛) E4 z. D" D0 P uhttp://bbs.guolairen.com
屏蔽多态,子类申请的资源将不被释放。
文章来源:过来人求职论坛- y# h, a/ Q( ^8 E/ r6 e( Uhttp://bbs.guolairen.com
九、定义了一个类:文章来源:过来人求职论坛. {! H( L" S3 {1 p' s) d5 ]; shttp://bbs.guolairen.com
class Something{文章来源:过来人求职论坛* n: }" D3 x8 }4 y$ ]$ f1 [1 Nhttp://bbs.guolairen.com
pulic:文章来源:过来人求职论坛+ D7 t* L* A5 Ehttp://bbs.guolairen.com
Something();
void setValue(int val){
value = val;文章来源:过来人求职论坛; K% `8 W$ S, o% R% a' bhttp://bbs.guolairen.com
}

private:文章来源:过来人求职论坛* [5 r, x, ~* |- Q& Ehttp://bbs.guolairen.com
int value;
}
以及一个函数:
void doSomething(int val){
Something* sth = new Something(); // Line 1
sth->setValue(val); // Line 2
}
问Line 2如果是doSomething()的最后一行的话会有什问题?
doSomething执行完后sth没有被销毁,内存泄漏。文章来源:过来人求职论坛0 w% n) q9 z) j$ S E2 Ahttp://bbs.guolairen.com
文章来源:过来人求职论坛! n, c* a, x1 |! t4 mhttp://bbs.guolairen.com
十、写一个程序将输入的16进制转为10进制。
基础

十一、设计一个微波炉的控制程序(OO)。文章来源:过来人求职论坛1 W Q. E$ l0 E5 Z4 uhttp://bbs.guolairen.com
这道题有点意思,我主要用Observer模式设计了一个定时器,然后把微波炉烹饪的对象抽象为Cookable。文章来源:过来人求职论坛) h7 C6 p$ `+ C. L7 I+ Xhttp://bbs.guolairen.com

十二、逻辑题,一列火车以15 mph的速度从北京开往上海,另一列火车以20 mph的速度从上海开往北京,一只鸟(比较笨)速度25 mph,在两列火车之间来回飞,相遇即折回。问到两列火车相遇这只笨鸟一共飞了多远?
很简单,因为鸟一直在飞,所以一共飞了s/(15 + 20),s为上海到北京之间的距离,那么它一共飞了s/(15 + 20) * 25 mile。文章来源:过来人求职论坛( S# v" o" H5 N- v; [0 J6 Xhttp://bbs.guolairen.com
文章来源:过来人求职论坛6 l- |' ?1 r2 @, E% ?http://bbs.guolairen.com
12道题,除了那道C#题,其它觉得没多少地方能扣我分了,当天晚上就没睡好,很兴奋。果然第二天上午就打电话来让我去面试,效率真的很高,然后就果然顺利拿到了offer

 

 

转载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值