收录几份群硕笔试

应同学之邀,分享群硕面试及笔试经历.
2006年12月08日 星期五 上午 02:05
虽然我已经选择了去百度,或者其他公司,反正不去群硕了.

但应个别想去群硕的同学之邀,还是将群硕面试及笔试流程大致的回顾一下.进群硕的门槛不是很高,但要拿到高的薪金,就要看临场发挥了。


群硕-笔试

接到笔试通知,星期六下午,在北航2号楼101房间(没记错的话),位置都是一个挨着一个做的。不过有一大半不会去。所以想结成同盟,组团答题,劝你还是放弃这个想法,除非你能够很快的搞定旁边的陌生人。

笔试题(依照记忆,很多记不准了,答案也只是我的个人意见,是标准答案,答题要点,不在于解决问题,而是看编程的风格,以及简洁程度,所以记住写的尽量的简洁和易懂.我写的答案也不一定很简洁,别当真啊,据我后来了解,笔试成绩很可能直接决定你的薪金多少,所以答案一定要精益求精,而不是写完拉倒。):

1. 请写一个函数,计算字符串的长度.
答:
int strlen(const char* src){
    assert( NULL != src);
   
    int len = 0;
    while(*src++ != '/0')
       len++;
   
    return len;
}

2. 请写一个函数,实现strstr,即从一个字符串中,查找另一个字符串的位置,如strstr("12345", "34")
返回值为2,在2号位置找到字符串34


答:
char * strstr(const char* src, const char* sub){
    assert( NULL != src && NULL != sub);
    const char* p = src, *q = sub;
   
    while(*src != '/0'){
        if(*src++ != *sub++){
           src = ++p;
           sub = q;
        }      
    }

    if(*src == '/0' )
       return  NULL;
    else
       return q;
}

3. 编写函数,将"bei jing ni hao ma."倒置为"ma. hao ni jing bei",即句子中的单词位置倒置,而不改变单词内部的结构。
答.
void reverse_(char* ptr, int len){
    if(len == 0)
       return;
   
    char temp;
    for(int i =0; i <= len / 2; i++){
       temp = *(ptr+i);
       *(ptr+i) = *(ptr + len - i);
       *(ptr + len -i) = temp;
    }
}

void reverse(char * src){
    assert(NULL != src);
   
    char * p = src, *src_ = src;
    while(*src != '/0'){
       if(*src == ' '){
          reverse_(p, src-p);
          while(*src++ == ' ');
          p = src;
        }else{
          src++;
        }
    }
    reverse_(src_, src - src_ - 1);
}

4. 智力题,有8个球和一个天平,其中有一个球比其他的都重,看怎么通过2次找到该重球.
答.设球的标签为abcdefgh
先选abc与def比较,三种结果
abc更重,则再比较a与b,如果哪个球重,则该球为重球,如果平衡,则c球为重球
def更重,同上
一样重,则比较g,h,重球为所要之球

5.拓展上面题目,如果有n个球,怎么用最少的次数找到重球,并且求出最少次数。

答.仿照上题即可,次数为大于log3n的最小整数

6.一道英文阅读理解题.
答.自己看着办,我也不会。

群硕-一面

面试的地点在创富大厦17层,北航南门做车到海淀南路下,然后拐个弯就到了,面试流程,先进门将简历交到前台,然后有若干个面试官根据自己掌握的知识,挑选简历进行面试,因为公司是搞软件外包的,所以各门语言都需要。我当时被分到了c++组。

面试大概的一些题目(c++组)
1.英文自我介绍。
我当时没有准备,所以没用英文,直接用的中文,要高薪的话,最好还是准备准备。

2.介绍一下自己的项目.
我介绍的是搜索引擎相关的项目,所以后头问的问题因人而异

3.c++的虚函数机制
地球人都知道的东西,我就简略的说了.
"如果不用虚函数,而是普通的函数,那么函数的入口地址在编译器就已经确定了,而虚函数通过将函数入口指针指向一个虚函数表,这个表保存了父子多个继承类的相应函数入口地址,在运行期动态的改变函数的入口地址,达到多态的目的."

4.stl是什么
stl是标准模板库,提供了一个框架,及5大模块,容器,迭代器,算法,类函数,分配器,方便用户重复使用

5.stl的内部结构了解吗
这个看平时的积累了,他问了我map的底层结构是什么,我答得是红黑平衡树。

6.boost是什么
boost是c++标准委员会编写的一个类库,很可能加入到下一个c++标准中,其中包括很多如智能指针,数字转换,graph,python,thread,方面的东西.

建议平时多用一些开源的类库,而不是被束缚在vs.net上,其他的问题实在记不起来了。

群硕-二面

到了2面,基本不出大的意外地话,可以等着拿offer了.
常用问题:

1.有没有考研,为什么不考研呢
2.你所碰见的最大的困难是什么
3.同学是怎么看待你的
4.你认为我们公司会录用你吗
5.英语水平怎么样
6.如果你喜欢开发,而公司把你放到了测试组,你怎么办
7.想在上海,还是北京工作


如果到这一步,差不多可以拿offer了.工资高低,看你的面试效果了.

后记:
拿到offer也别高兴,看看是否真的适合自己,至于公司的优缺点,我前边有写过.工资给的还是不错的.至于签不签,看个人了

 2、摘自:http://hi.baidu.com/suningin/blog/item/8ed3cd1713524a09c93d6da5.html

我一向孤陋寡闻,直到群硕的宣讲会我才知道群硕这个名字的。群硕是个只有两年半时间的初具规模的公司,专门做国际市场的软件外包,目标很大,口气也很大。抱着赚点面试经验的目的,参加了群硕的笔试,笔试时间很短,60分钟。题目不难,都是大题或是问答题,我记得大概有如下题目:
不用任何变量交换a,b两个变量(老掉牙的问题)
用递归求最大公约数(入门级基本问题)
举一个多态的例子
二叉平衡树(特性,内插入和 外 插入)
UNIX进程包括那三个部分:...(简单)
new动态分配失败会抛出什么异常,C++中提供了那两个标准函数来设定异常处理HANLDER(有点难度)
EJB包含那几种?区别(压根没听过)
asp和asp.net的区别(假期做项目的时候碰到过,嘿嘿)
JAVA中的interface 和 abstract class区别(照着c里面的感念随便写了点)
logic thinking:检测电冰箱(我用软件工程的思想随便写写)
因为是抱着赚点经验的态度,所以做的很轻松,会的一下就能写出来,不会的再想也没用。我很快就做完了。
面试名单第二天就出来了,我当然在其中啦。后来听说30分以上就能进入面试,呵呵,看来题目虽然简单,还是有很多人不会的。
群硕的办事效率绝对高,只需要一轮技术面试,通过的就可以和hr谈条件,给offer了。这是我最得意的一次面试,面试官是一个30多岁的帅哥,穿的很随便,典型的技术人员。他仔细的看了我的简历,然后就问我的项目经历,我很详细的向他阐述了整个开发过程,他显的颇为满意,然后就聊到了数模竞赛,我这个体会多的呢,跟他balabala了一通,他问我用到了哪些软件,我说ma
tlab,visual c++,lingo,lindo。他说没听过lingo,lindo这些软件,嘿嘿,于是我就开始发挥了,吹了一通。接下来的气氛相当的好,他也开始给我吹他的历史,他说他java很厉害,dephi也不错,换了很多工作,最后选择了群硕等等,我说我是学校c/c++版的斑竹,他说,他以前在csdn上的专家分有两千多,我赞了他一下,说我在csdn上也有一千多的专家分………聊啊聊,四十多分钟过去了,他很满意的说:“跟我来,和我们的经理谈谈”。我知道这次offer肯定是有了。
     我刚才说过,一般面试者只需参加一次面试,参加两次就意味着他们重视,嘿嘿,那个兴奋啊。经理很随和,也和我聊了一些项目经验啊,爱好,性格等开放性的问题。看得出,他也是很满意的
     后来就见hr了,她对我做了简单的点评后说:一般本科生进来给的职位等级是st(好象是软件培训生),工资是不会超过4000的。你的表现不错,我给你的是se(软件工程师),5000/月。当时除了激动,竟忘了说什么了。人生的第一个offer就这样到手了,骑车出来,一路哼着胜利的小曲…………
到现在总算有个offer垫底了,心里也踏实了很多。回来后继续上网调查群硕,通过一阵搜索,感觉到在群硕工作强度太大,每天都工作到晚10点后,工资5000应该算是不错了,但其他福利待遇很少(其实在白天的面试过程中hr也有提到:群硕实行的是残酷式的训练和工作,我们需要有激情的年轻人,如若吃不消,最好不要考虑群硕)。唉,先不管那么多了,拿到offer总是好事,这毕竟是人生的第一个offer,而且是我们班的第一个offer,甚至是我们系比较早的一个offer了。

3、摘自:http://www.blog.edu.cn/user2/62186/archives/2005/987796.shtml

 要写一个Combination

代码如下

import java.util.ArrayList;
import java.util.StringTokenizer;

public class MyCombination {

 /**
  * @param args
  */
 public static void main(String[] args) {

  initialize(args);
  System.out.println("Now work");
  doWork("");
 }
/**
 *
 * @param args
 * initialization
 */
 private static void initialize(String[] args) {

  if (args.length == 0) {
   System.out
     .println("invalid usage/nThe valid usage is /"java MyCombination {set}/"");
  }
   array = new ArrayList();
  StringBuffer sb = new StringBuffer();
  for (String i : args) {
   sb.append(i + " ");
  }
  System.out.println(sb);
  StringTokenizer st = new StringTokenizer(new String(sb));
  while (st.hasMoreTokens()) {
   array.add(st.nextToken());
  }

 }

 /**
  *
  * @param ab
  * main work function
  */
 private static void doWork(String ab) {

  String[] a = new String[array.size()];
  if(ab==""){
   for(int i=0;i<array.size();i++){
    a[i] = new String(""+array.get(i));
   }
   for(String i:a){
    System.out.println(i);
    if(!i.substring(i.length()-1).equals(array.get(array.size()-1))) {
     int j = array.indexOf(i.substring(i.length()-1));
     for(int k=1;k<array.size()-j;k++){
      String newValue = new String(i+array.get(j+k));
      System.out.println(newValue);
      doWork(newValue);
     }
    }
    
    
   }
  }else{
   
   if(!ab.substring(ab.length()-1).equals(array.get(array.size()-1))) {
    int j = array.indexOf(ab.substring(ab.length()-1));
    for(int k=1;k<array.size()-j;k++){
     String newValue = new String(ab+array.get(j+k));
     System.out.println(newValue);
     doWork(newValue);
    }
   }
  }
 }

 private static ArrayList<String> array;
}

摘自:http://www.eray.cn/archives/2005/blogview.asp?logID=105&cateID=9

什么鸟群硕,处理完简历连个邮件提示都没有。
居然在就业办网站上放个XLS文件了事。
不管了,既然叫上我了就去看看。
先收几个笔试题:
等会,先:看看,这里有人说群硕
IT公司速查手册-群硕软件开发(上海)有限公司

可是我还是要说,就我自己看来,这个公司算国内很不错的了。象英语什么的都是亮点。不怕累的要去,炼两年真是很不错!我不行,懒人呢。

就记得几个
1、release和Debug的区别,及其运行速度(如果是.NET下边,呵呵,区别就好说了。如果是VSC++就着实有些话要说了:编译速度、运行速底、调试性等)
2、死锁解缩的四种形式(死锁有四个必要条件,破坏其一即可……)
3、.Net中public/private/proteced/friend/proteced friend的范围(晕死)
4、关于Java的有两道,没怎么注意
5、写函数的题目
 1)冒泡法排序
 2)关于judge platform的
6、Logic和算法
大意是有一个1001个元素的数组,每个元素都在1到1000这些整数中取值,其中有一个数
值重复了,现在要设计一个算法找出这个数字,且每个元素只能被访问一次。还有其他的
要求,记得不是很清楚了,等回来的同学再补充吧。(加起来就行了)


时间:2005年11月5日星期六上午9:00至10:30
地点:中国科技大学西区第3教学楼115,116室(详见名单)
请同学们带好身份证和笔,提前10分钟入场。
请在以下表格中查找并记住自己的考场以及resume ID(试卷上要注明resume ID)
具体名单见http://www.job.ustc.edu.cn/download.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值