群硕面经整理

 

面试的情况是这样的:一个微胖的技术,拿着我的简历转了好几圈,又问前台MMXX还没回来啊?我不适合面试.net的。。。最后转向我——他们都出去没回来,我面你吧。。。

 

    入座,问我技术方向,答兴趣在.netjava也可以。遂问我用03还是05,我说之前用03,用05有半年多。

    问:你讲讲framework1.02.0有什么区别吧。(后来他发现自己说错了,03里是1.1)

    答:03framework1.1的,2.0版本提供了更多的整合框架,提供了更多的新的特性。(我主要做WEB FORM,就主要从WEB角度说的)比如更好的缓存机制,提供了Membership用户角色权限框架,新增了五种功能强大的数据源,sitemap等等。没有提语言本身的东西,如泛型等。  

    ——PS:因为项目本身就是应用性的,主要从自己了解的应用讲,没有涉及机制底层等。那些,我确实也说不明白。

   

    问:说说CLR吧。

    答:公共语言运行时提供了一种类似JAVA虚拟机的机制,允许.net环境下的各种语言编译生成的中间代码执行于其上。。。也在一定程度上实现了跨平台性。。。

    ——PS:原理性的东西,我也看,不过,看过就过了,没有深入去理解。再次批评自己。

 

问:一定听过Struts吧,谈你对MVC架构的理解。

对经典的MVC设计模式的一种具体实现,是建立在当前JAVA WEB应用开发领域中JSP, SERVLET.XML等相关技术基础之上的一种主流开发框架,是一种基于经典MVC设计模式的框架.

    答:我对JAVA的理解都是对照.net来理解的。。。之后我讲了N层架构的实施过程,表示层、业务逻辑层、数据访问层。。。如果细化,还可以在业务逻辑层实现业务外观层。。。稀哩哗啦说了一堆,不知道对不对他胃口。

    ——PS:架构。。哎。。我想大部分做项目的人,也是用成型的一套架构改来改去吧。——浅薄之见,拍砖我也忍了,反正也是被郁闷了。

 

    问:你本科是学计算机的啊,那说说PV原语吧。

    答:对进程资源分配的一种管理方式,当请求一个资源时,P操作。。。如果小于0则等待。。。当释放一个资源时,V操作。。。

   ——PS:很久不看操作系统,做的主要都是web的东西,也不知道说得对不对。。。(顺手去google了一下,想了解详细的看这个http://oldchild.nbc.net.cn/jsjsj/DB&OS/rhyPVcz.htm)

 

    问:讲讲冒泡排序和二分查找的原理,在说说你知道的其他算法。

    答:。。。。。基本原理讲了一遍,应该说还应付得过去,之后我说的把自己陷进去了。我说,还知道一些加密算法,如DESRSA等。。

    他接着让我将一个加密算法的原理。我有点晕。。。这么个问法,我不翻才怪。我只好说,经过什么模乘/位运算啊,DES是对称的,RSA是非对称的。

    ——PS:我实在是记不住。。。如果老师说明天考试,我会去记的,否则,拿来主义就好。

 

    问:那你现在设计一个加密算法,然后分析一下它的优缺吧。

    答:。。。面对着简历沉思。。。可以对待加密内容的ASCII码进行特定的数学运算。。。他提示,加密算法能加密也要能解密。这倒是,ASCII码运算后估计乱码不可避免,那解密呢。。。

    他又说,现在考的不是算法,而是,怎么提出一个东西,然后对他进行分析。。。

    我又胡诌了一个最简单的位运算了事的。优点是效率高,简单,缺点是强度不够。

    他说这样有点应付面试的意思, 现在是SHOW TIME。。。

 

    问:如何实现一个呼叫中心,并能快速在页面上显示位置信息。。。

    ——PS:我简历写了熟悉网络编程和线程编程。注意是,熟悉,不是掌握。这个不会。线程在导师的项目里用过些,不过也基础,就是启动一个线程监听串口,进行数据的实时处理。

   

    问:同步。。。

    答:可以通过同步来实现对代码块的单一访问,排它。。。

    问:异步。。。

    ——PS:没有具体应用过,回来后把简历的这条索性去掉了,只要不是我掌握的,全去掉。要不真的会被郁闷。

  

    问:你熟悉SQL。。。那先来个最土的题。——他自己连题都没叙述清楚。

    我在黑板上写,告诉他,另外两个表都没有用了。他说,那不可能,要不我给你三个表干吗。后来他一看不对,说那查name吧,不查id了。我改。。。他提了一个问题,说这里应该用in,不是用“=”,因为后面是一个集合,我解释:按题目的意思,后面是单一记录,那用“=”号应该没问题的吧。。。

    ——PS:最后我写完,他说,其实他也不知道对不对。这个可以理解。至少我写了ingroup by,怎么也是用过SQL吧。

 

     问:存储过程、触发器。。。

     答:存储过程的优点很明显,最明显的当然可以使代码简洁,然后可以提高数据访问的性能,因为数据库服务器本身提供了对存储过程的优化,有些情况下,甚至可以把数据访问层完全通过存储过程来实现。触发器我正在用。我的课题要通过触发器来记录对表的DML操作等。。。

 

     问:触发器的原理是什么?

     答:只是用。。。原理不是很清楚

     问:那你现在想一下可能是什么原理?

     答:事件探查器。。。发生特定事件时检查是否定义了针对该事件的触发器——让我猜,我也只有猜了。

     他也没说个什么究竟,又问我临时表,我说用过,##。。。他说,知道双##号,那应该是用过了。

     又说视图。。。我说项目里应用比较少。

     结果让他抓到了把柄。其中,我还提到了一个蹩脚的数据库设计,因为项目并不是很正规,基本属于独立开发,然后合代码的那种,我的工作大部分在数据访问和业务逻辑,数据库设计有些地方不是满意,但是也要听人家的。

     他说,你们的这个设计连第三范式都满足不了吧。我解释,有些情况下也需要一些变通,因为,后续才发现有这个需求,而加表会比较麻烦,只好通过拼接ID串的方式。。。

     他说,如果你说,你的项目里很少用视图,那只能说明你只是个用户,然后说视图如何如何重要,没有用过视图就等于没用过数据库。。。。

 

     不想再写了。。。越写越郁闷。。。还问到了很多,比如垃圾回收器的原理,什么样的算法实现的,applicationsessioncookies(http://www.lslnet.com/linux/docs/linux-4141.htm)2.0下应用程序的发布方式等等等等。这几个我在之前遇到过,答得应该没问题。

 

     大晚上折腾到群硕,不到7点进去的,810出来的。被折磨了一个多小时,按豪客大哥的话,成技术讨论会了。

 

     我不是强人,我不知道群硕要招什么样的人。看来,离他们的要求是差得十万八千里了。

哥们,根据我很多同学在群硕的面试经历,你应该拿到offer了?群硕面试超过半小时的大部分都给offer,这是我们统计的结果。你说的那个Java面试官好像是那里的技术经理,我有个同学好像也被这个人面过(第二轮技术面试),给我同学的印象还不错,印象最深的好像是说他们招人不是为了空缺职位招人的,而是有计划的招人进行培养,估计这就是为什么你不知道他们到底要什么样的人。他原本是第二轮技术面试的面试官,就是可以给SSE职位的那种,被他面过的人的薪水比那些只面了一面的薪水要高很多。你被折磨一个多小时估计是他直接给你面了二面,不过,没有拿到offer就不知道是什么原因了,你没表现的不耐烦的话,应该可以拿offer的,如果表现得跟你现在所说的那样不耐烦的话,那肯定通不过面试,这个人很看重工作态度的说。

=====================================================================上午去群硕面试,昨晚背了一晚上的英语自我介绍。在公车上还在默默地背诵,到了群硕的面试地点,还看了一会。等了半小时左右,终于轮到我了。面试官是个胖胖的小伙子,刚开始一直在看我的简历和笔试题。为了不至于太尴尬,我就说笔试题答的不是很理想。他哦了一声,让我自我介绍一下。
我说:中文还是英文?

中文,你口语怎么样?

一般吧,阅读不错。

哦,听力呢?

听力也还行。然后我就自我介绍了一番。

接着开始提问,问我java会什么?

jsp
java基础,还接触过strutshibernatespring的东西。

简单说一下strutshibernatespring。我就说都是为了分离页面上过于复杂的代码。。。

用过XML吗?

用过,在我的一个项目中使用过。

为什么要用XML,而不用普通的配置文件,例如,文本文件?

XML
有结构信息,可以检索。。。

Html也有结构信息啊,为什么不用?

Html
只负责表现数据,而XML才真正的表示了数据的结构。

自己写代码生成过XML

是的,在我的一个项目中,我使用的是开源的DOM4J包。

然后问我其中一个项目的问题。。。。

你使用过aspjsp吧?

对?

它们有什么区别?

如果普通的使用,区别很小,主要区别是jsp上有很多框架技术,例如struts等等。。。

如果有一个项目,让你决定使用asp还是jsp,你怎么选择?

如果项目小的话,我会选择asp,因为asp比较成熟简单,如果项目比较大,我会选择jsp

因为jsp的那些框架使得代码易于维护和修改。

知道设计模式吗?

知道点,看过四人帮的设计模式那本书,知道些工厂模式,单件模式等。

那意义不大。使用过吗?

我只是看过,没有在实际的项目中使用过。

(估计这个砸了)

剩下的上学阶段怎么打算?

我想在北京实习。

怎么个实习法?(这个问题我有点不明白)

我说:那得看公司具体什么要求,我能保证一周5天的时间,可能有时候学校暂时有事要离开。。。。

如果你到一家公司,感觉不适合你,你会怎么办?

其实每家公司都有好的和不好的地方,这就和当时上大学一样,我们学校感觉不怎么样,但是我们学校的基础课还是教的很不错的,比如数据结构就交的不错。关键是自己的心态要平衡。

你说数据结构不错,那我问一个数据结构的问题。有一个大数据量的数据,你怎么快速的检索。

在数据库中吗?

如果是。

那就可以建索引,使用存储过程等等。

先不考虑这些,假设不在数据库中。

(我有点发愣)可以用二叉排序树。。。

他笑了笑:实际上肯定比你想的复杂(我心想,那当然)

你喜欢在一家能发挥你作用的公司,还是一家分工明确的公司,你不用操心太多的事(大概意思就是这样:做风尾还是鸡头?当时面试官表述的不是很清楚)

我下了一跳,不知道怎么回答,就说喜欢鸡头那种的,不喜欢螺丝钉那种的工作。。。

这个问题估计也砸了。。。

然后就是一些客套话。。。

=====================================================================

9:30面食刚回来      我也没通过,技术题问的虽然不难,但是很细,如果不是踏踏实实学过来的,不好混过

    我的面试体是  平衡二叉书的各种转换,旋转(不回),虚函数(本来会的,后来问为什么要用虚函数,虚函数的原理是什么  !)   多态(马马乎乎),   面板 (又不会)  就这样.,希望对其他同学有帮助

未通过技术面试,先是英语简介,然后英语项目。接着问技术(此时用汉语),问的东西挺多的,比如面向对象的三个特性(继承,封装,多态),多态的实现原理(不是怎样使用,不会),Cextern是在编译还是连接的时候使用(不确定),拷贝构造函数的用途(复制,NRV),指针作参数跟引用作参数的区别

相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
区别: 1. 指针是一个实体,而引用仅是个别名;

2.
引用使用时无需解引用(*),指针需要解引用;
3.
引用只能在定义时被初始化一次,之后不可变;指针可变; 引用从一而终
” ^_^
4.
引用没有 const,指针有 constconst 的指针不可变;

5.
引用不能为空,指针可以为空;
6. “sizeof
引用得到的是所指向的变量(对象)的大小,而“sizeof 指针得到的是指针本身(所指向的变量或对象的地址)的大小; typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真, 但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。

7.
指针和引用的自增(++)运算意义不一样;

8.
引用是类型安全的,指针不是 (引用比指针多了类型检查)((不确定),描述一下TCP/IP协议栈及每一层的相关协议(会)

应用层(http,dns,smtp,rtp)/运输层(TCP, UDP)/ 网际层(IP)/ 网络接口层,

描述一下进程和线程的区别和联系(一般),

进程是你系统同时运行的应用程序数目,而线程指你的cpu能同时处理的任务数量一个线程是给定的指令的序列 (你所编写的代码),一个栈(在给定的方法中定义的变量),以及一些共享数据(类一级的变量)
进程是目前桌面上正打开着的应用程序进程,如IEMS WordQQ等,还有在后台运行着的系统服务进程,即提供系统正常运行及上网所需的程序,如svchost.exe即为系统服务的进程名称线程肯定占用CPU,那么进程本身是否占用CPU的时间(不确定),哪些变量在堆中,哪些在栈中(会),最后是一个算法题,一堆数让你压栈,然后随机出栈,问有多少种出栈的排列(求错了)。

看到的好运阿。

技术面试我选的cc++,首先要求英文自我介绍,介绍过程中面试官用英语和我交流一些看法和感受,大概有15分钟。

之后中文技术面试,根据我的简历写的课程实践项目,来问相关方面的题目,比如数据库的第一范式,第二范式

: 1 第一范式(1NF

在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。

所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。

2
第二范式(2NF

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。

第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。

3
第三范式(3NF

满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在图3-2的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性

数组和链表的区别

: 二者都属于一种数据结构
从逻辑结构来看
1.
数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
2.
链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
从内存存储来看
1. (
静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
2.
链表从堆中分配空间, 自由度大但是申请管理比较麻烦

从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

堆和栈的区别。堆和栈的区别可以用如下的比喻来看出:
使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。

使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

堆和栈的区别主要分:
操作系统方面的堆和栈,如上面说的那些,不多说了。

还有就是数据结构方面的堆和栈,这些都是不同的概念。这里的堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权;栈实际上就是满足先进后出的性质的数学或数据结构。

虽然堆栈,堆栈的说法是连起来叫,但是他们还是有很大区别的,连着叫只是由于历史的原因。

。。,

还问了我的职业规划,在这个阶段和面试官聊了一些对软件行业的看法,对群硕的加班制度和个人以及企业价值取向方面的东西。最后面试官让我对这次的技术面试我的表现做一个评价。整个技术面试大约30分钟。

技术面试后面试官会在你的简历上面写上他对你的评价,技术,观念,热情方面。

hr拿着那份写有评论的简历和你聊,聊天!没有什么大问题,就给offer了。

=====================================================================

今天下去去面了,总共两轮。第一面是技术面试,问得范围比较广,总共一个小时。中文交流45分钟左右,涉及到java中的序列化、多线程、自反射等问题,J2EE中的EJBWEB/servlet/struts(一些细节问题,还有根据他给的一个简单需求概要设计一个MVC框架)、RMIng/awt(我以没有过实践经验跳过去了)data mining中具体的分类和预测算法、数据库中的关联规则挖掘方法,OLAP中的cube等;最后十分钟左右英文交流,描述SOAAOP等,这是让我最汗的地方,很多内容想讲却用英文很难表达出来,因为我的口语本来就不好啊,差点都急得冒汗了~。由于非常佩服考官精深得技术背景,我在面官填表之前崇拜地向他咨询了几个问题,回答得很让我满意,而且知道了他已工作五年,目前做C++方向。这个过程下来,对面官的技术视野和理解深度相当的佩服,另外就是对自己的表现很不满意,主要是半年都没搞java相关的东西了,而且最近半个多月沉浸在论文素材准备中,很多技术点都已经很模糊了,另外就是下午是我一天中比较容易犯困的时候,说话都觉得比上午和晚上迟钝,尤其现场桌子比椅子还低,而且旁边还有张大床,真想躺上去睡觉。

然后是与hr二面,没什么太大压力,放开聊就是了。一个多小时的时间,前四十多分钟她问我,一大半都是我在讲,后半个小时左右我俩互相讨论一些问题,同时向她提了一些问题,她讲的要比我多,包括群硕的加班问题,以及最终定薪;期间她看了一下我技术面试过程中的英语评价,说:你口语不太好啊?我说是啊,...”。整个过程都是中文交流,她总是时不时地夹杂一些英文单词,也许这就是群硕的文化吧。后来回学校之后,听同学讲他们与HR都有英文对话的,嘿嘿,看来hr是懒得跟我这种英语哑巴对话了。感觉这个过程中,hr主要是想了解应聘者的个人性格、综合素质、职业规划、发展动力方面的情况,自己就当与一般人聊天就是了,不必要太形式化。最后,双方终于都没什么问题了,其实我早就有些困了眼睛直迷离。给offer8号之前给她回复过去就可以。感觉这个HR比较容易沟通,讲话比较到位,而且也比较和善。至于工资,比华为少小几百块钱。

就这些了,希望后面的兄弟姐妹们好运!

 

 

没有写面经的习惯 但由于情况有点特殊 还是写写以供来年的同学参考

由于在等几家大公司的最后结果 所以也没把群硕当回事 下午3点的面试 210分才磨磨
蹭蹭赶到徐家汇地铁 但想想做人不能太差劲 基本的礼貌还是要有的 地铁出来还是叫了
辆车匆忙准点到达

等待的时候听到旁边的同学讨论说面试官问他反射懂不懂 说是被问倒了 然后没给offer

等了大约一刻钟被一个高个子面试官带出去 自我介绍 问问项目都是干嘛的 一点也没细

对方发现我做的都是科研项目而不是应用项目 就问觉得从做科研转到做应用会不会
不适应 我么只能回答一通大道理 后来又问J2EE熟不熟 说实话这是我最不想碰的东西
我照实说这方面经验很少 对方也不追问 最后说一段英语 描述今天起床到来到群硕的全

过程 其实我下午1点多才起来 说完对方开始打分填表 瞄了一眼貌似是A 我蛮昏厥的
怎么什么技术问题都没问就给个A 对方一面填一面说如果你觉得有什么我没问到的你
可以告诉我 我那时候心理翻腾着无数念头 好歹你们是招Java工程师 让我讲讲GC/eden/
survivor
让我讲讲JVM frame 让我讲讲verification/resolution 让我讲讲
byteco
de format
再怎么样出道算法做做吧 可惜都憋在嘴里 最后让我问问题 了解了一下

群硕对人才的关怀情况 总共15分钟不到 一面这个gg人很帅超有男人味也很又亲和力
门的时候问我是哪里人 好像不太相信我是上海人的样子

接下来等HR 其实大家心理有数就是拿offer HR这部分全中文 上来问我技术面得如何
这时候我犯了一个错误 我说面得太浅了 HR笑笑 然后双方交流交流 问问其他offer的情
问问怎么看待关于群硕的负面报道等等 又问我哪里人 她也不相信我是上海人 说我
基本上会被认为是东北人 呵呵 最后问我期望薪资 知道群硕不会高 说了7k
说完本以为HR要把信封里的offer拿出来了 没想到他说既然你认为前面技术面得太浅了

那么再安排一轮资深的来面试
-________-!!

技术二面的时候等了很久 狂汗啊 gf的妈妈今天炖了罗宋汤等我去 这下肯定要迟到了


在等待的时候发现一个问题 他们书报刊物架上放的全是介绍他们刘总的报道 我觉得不
是很舒服 不应该宣扬个人 期间也看到刘总出来 和员工们打招呼 很亲切 how are u
doing
不过和Joey不是一个风格就是了


二面技术时间蛮长的 面试官的攻击力明显强于一面的那位gg 围绕项目问了些策略上的
问题 负载均衡 容错性之类 总觉得有些东西不给块白板涂涂画画也很难讲清楚 不过气
氛依然很友好 宾主双方空对空捣鼓了半个小时 我急啊 罗宋汤啊

完事之后又出去坐着等HR 这时候外面早没人了 gf的爸爸打电话来说慢慢面 我们等你来
了再开饭 真是愧疚

HR
终于又出现了 好在这次没有再问我是不是上海人了 上来先说我是这次面的等的时间
最久的 又说两位面试官都觉得我基础非常扎实 但是应用项目经验太少 潜台词是觉
的能力不及理论 我心想挺冤枉的 估计他们觉得做过J2EE的才算是项目经验 最后HR说鉴
于你的发展潜力给你8k 但是愣了一下觉得这世道怪新鲜的 最后双方在友好的气氛中作


出来的时候6点一刻 罗宋汤啊罗宋汤

群硕 


  在上海,做外包的。开出的待遇不高,拒绝
 
  笔试:英文,不难做,JAVA基础知识
 
  面试:
 
  一面:技术面,MVC架构,存储过程,JDBCJMXJMS的区别,Servlet的运行过程与线程安全性,.net自动装箱与拆箱是否可逆,ADOADO.NET的区别
 
  二面:HR面,职业规划,期望工资,双选的准则 

群硕-一面

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

  面试大概的一些题目(c 组)

  1.英文自我介绍。

  我当时没有预备,所以没用英文,直接用的中文,要高薪的话,最好还是预备预备。

  2.介绍一下自己的项目.

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

  3.c 的虚函数机制

  地球人都知道的东西,我就简略的说了.

  "假如不用虚函数,而是普通的函数,那么函数的入口地址在编译器就已经确定了,而虚函数通过将函数入口指针指向一个虚函数表,这个表保存了父子多个继续类的相应函数入口地址,在运行期动态的改变函数的入口地址,达到多态的目的."

  4.stl是什么

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

  5.stl的内部结构了解吗

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

  6.boost是什么

  boostc 标准委员会编写的一个类库,很可能加入到下一个c 标准中,其中包括很多如智能指针,数字转换,graph,python,thread,方面的东西.建议平时多用一些开源的类库,而不是被束缚在vs.net上,其他的问题实在记不起来了。

  群硕-二面

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

  常用问题:

  1.有没有考研,为什么不考研呢

  2.你所碰见的最大的困难是什么

  3.同学是怎么看待你的

  4.你认为我们公司会录用你吗

  5.英语水平怎么样

  6.假如你喜欢开发,而公司把你放到了测试组,你怎么办

  7.想在上海,还是北京工作

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

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

1VS1 技术面试

问的问题:
1
,说说C++的多态,底层具体是怎么实现的?
2
,知道设计模式吗?
3
,熟悉Linux内核吗(我申的是嵌入式软件开发,所以问了这个问题),

熟悉驱动开发吗?
4
,如果编程过程中,发现某行出错,比如运行到某行弹出内存地址出错,

但这行没有语法错误,怎样查错?
5
,你在做的项目中遇到哪些困难,怎样克服?
6
,你相对你的同学有哪些优势?

第一轮
第一轮是技术面,准时在9:00安排我去楼下面试。

面试官很高很帅,表情严肃。他请我坐下后,要求我做自我介绍。

我简单的说了几句,大概就说我明年毕业的master,不是软件或计算机科班出身,我想应聘测试职位,我没有测试经验,我选择测试是因为我觉得以后测试会越来越专业,是一们技术,是我选择生存的手段。


开始面试官很诧异,他盯我看了一会(估计我是第一个说自己没有技术的面试学生),我一直正视他,我想就算我失败了,我也要保持我的镇定,我要面带微笑的接受被鄙视。

过了一会,他回避了我的眼神,然后问我对测试了解有多少。

我问他说:你想让我说测试过程还是测试种类?

他:随便

于是我说了功能测试、性能测试、健壮性测试、安全性测试、外观测试、压力测试、回归测试、以及黑白盒测试等简要的介绍了这些测试与某几个测试之间的关系。

后来他问假如有个易拉罐你怎么去测试,我就从上面的几个测试方向逐一进行说明,首先能不能装饮料,是不是易拉;接着靠挤压、装多装少会不会有危险,外观是不是吸引消费者
......
他又问我如何知道外观能否吸引消费者,我说首先要做市场定位,看把消费群体定位在哪个层次,是底层消费者,高层消费者,小孩......并大概说了底层消费者要把外形设计的看起来容量大,高层消费者需要外观有品位,小孩喜欢卡通......(绝对的超常发挥)


后来他说既然你说你的知识构架不行,我就不考你编程方面的东西,假设他不认识接待我的mm,让我给他介绍一下,我一下傻了,连mm穿什么衣服都不记得了,我就大概说了一下长相,头发之类的。


他还问我交大每天大概能卖多少米饭?

我说要分研究生和本科生,研究生有60%在学校吃,本科有90%在学校吃,其中有10%的人吃面食,而研究生和本科生男女比例都是73,男生吃6毛,女生吃3毛,......再假设了一个人数之后,我边说边算(小时侯帮家里人卖杂货,计算这些不再话下),最后给了一个结论。(期间他还帮我记了中间步骤算出来的结果,时尔同时发笑,我好象只是在和一个朋友在一起做一道数学题而已)


期间还问了我辅修经济学有没有什么影响深刻的事,以前遇到过什么挑战,
...
我就是很随意的和他聊了几句。


他沉思了一会,自言自语到:我给你开少吧,你是个master...(后面没有听清楚)

最后他拿出一张表开始填写,同时说:这样吧,再我这里我给你一次机会,由后面的hr决定要不要留你,你先等一下,我需要先填写一下考核表。

填完表后,他问我有没有什么问题问他,我问了两个问题。

1.
听说工作环境是全英文的是不是真的?

2.
新员工刚进去在那个全英文的环境能不能适应?



后来我又开始在接待室等,等了很久,我想肯定凶多吉少,于是我很轻松的周围来面的同学聊起来,期间接待mm参与聊天,我提到那个面试官让我描述她了,她立即来了兴趣,查看面我的是谁,并问我说我觉得那个面试官怎么样?我说很和蔼,爱笑,很nice。她表示不赞同,说那个感觉很严肃,不怎么笑啊。(我纳闷,他的确给我笑了好几次。)

1.假设你站在镜子前,抬起左手,抬起右手,看看镜中的自己。当你抬起左手时,镜中的自己抬起的似乎是右手。可是当你仰头时,镜中的自己也在仰头,而不是低头。为什么镜子中的影像似乎颠倒了左右,却没有颠倒上下?

因为人的影象与人是关于镜子对称的,而镜子是立着放的,
左右没颠倒,上下也没颠倒。原因是:【通常都认为正面对自己的人的右手,在我们的左手边;而照镜子时见到的却不一样,可以说是光学原理使人产生的习惯。】但是说因为眼睛是左右长的答案就大错特错
2.
如果你有一个 5 夸脱 的水桶和一个 3 夸脱 的水桶,如何准确量出 4 夸脱 的水?

盛满 5 夸脱 的,倒到 3 夸脱 中, 5 夸脱 中剩 2 夸脱 ,把 3 夸脱 再倒掉,然后将 5 夸脱 中的 2 夸脱 倒到 3 夸脱 中,然后倒满 5 夸脱 ,从 5 夸脱 中倒满 3 夸脱 ,然后 5 夸脱 中就剩 4 夸脱
3.
如果你有一个许多部件可以拆卸的时钟,你将它一块块拆开,但是没有记住是怎样拆的。然后你将各个零件重新组装起来,最后发现有三个重要零件没有放进去。这时你如何重新组装这个时钟?
4.
元帅统领八员将,每将各分八个营,每营里面摆八阵,每阵配置八先锋,每个先锋八旗头,每个旗头有八队,每队分设八个组,每组带领八个兵。请你掐指算一算,元师共有多少兵?
5.
有两只乌龟一起赛跑。甲龟到达 10 终点线时,乙龟才跑到 9 。现在如果让甲龟的起跑线退后 1 ,这时两龟再同时起跑比赛,问甲、乙两龟是否同时到达终点?
6.
现有米 9 公斤 以及 50 200 的砝码各一个。问怎样在天平上只称量三次而称出 2 公斤 米?
7.
在我最喜欢的那家比萨饼店中,10寸的比萨卖4.99美元。店主说,他们有一笔12寸比萨饼的交易,定价为每份5.39美元。请问:该店在这笔比萨饼交易中给予了买方多少折扣?
8.
一家有4个兄弟,他们4个的年龄乘起来的积为14。那么,他们各自的年龄是多大?当然年龄应该是整数。
9.
在一所乡村学校中,一个刚刚毕业的男数学老师s很幸运地同时得到了两个女教师ab的青睐。s满脑袋数字,在无法从两者之中选择的情况下,他只好对这两位女教师说,"希望你们用数字或者数学公式,来表示你们对我的爱的程度。"
a
说,"b比起来,我是一百倍地爱你。"
b
说,"a对你的感情当然没有我对你的感情深。与a相比,我是一千倍地爱你。"
听了她们深情的话语,不知为什么数学老师s反而神情沮丧地说,"这不就等于说,你们两个都是完全不爱我吗?" 这究竟是怎么回事 a=100bb= 1000a ,则a=b=0
10.
请问:从你生下来的那一刻起,你入睡和醒来的次数哪个多?多多少次?
第二轮
聊的正high的时候,下面打电话让我去面试

这个面试官才是真正的严肃,从始致终面无表情,考了我逻辑题,智力题(特别难),问我愿意做市场和销售不(被我直接拒绝),逻辑题我回答的挺好,智力题大概的说了一些,没有做出来,整体感觉这个面试官思维特别敏捷,总是比我的思维快一点,我刚说出来一点,他就能知道我下面的结果......他问了我自己的优缺点,我说我亲和力比较好,他表示赞同。

他又问了我对第一个面试官的印象,我说开始严肃,后来觉得很不错,很高很帅,他没有赞同也没有反对。

交流过程是中英文交替,他也不说开始,直接突然中文,突然英文的,我就被动的跟着中英文互换,我的那种镇定自若差点被击垮,导致我都不记得我们聊了什么。总之,他用一堆形容词给我下了定义。很多单词没听懂,简单的就是:open active smart其他没有听懂,总之让我进入了下一轮。走时特意站起来给我取了张名片,说以后有工作或者生活上的事情,都可以找他帮忙。


看名片后,才知道他是经理,幸好知道的晚,要不然肯定没那么镇定的。

接待mm对经理给我名片表示诧异,也不知道是不是只有我有。


后来的人力资源面就显得比较轻松了,随便的中英文交流,结束时,拿到offerhr说单位很注重各方面的人才,我就是个especial case,说他们很欣赏我的一些特别之处,...希望我考虑一下做市场,然后说他们的市场做的特别专业,市场是ceo直接带,......不过我想做软件测试,尊重我的选择,并说经过他们的了解,我很有做市场销售的潜质,希望我进公司后去了解他们的市场。


我回来后,才知道群硕原来口碑不是很好,犹豫了很久,不过还是打算去签约,我想其实真的可能是心有多大,舞台就有多大吧,我想赌一把。

哎,要好好学习编程了。

感觉还可以的样子
先是技术面试,按照你自己说的项目经历问问题,感觉面试官很有水平,小崇拜一下.
记了些问题
如何解决内存泄露
中断,事件,并发的包
多态
虚函数,c中怎样实现虚函数
快速排序
滑动窗口,移动窗口
linux shell
linux内核有啥区别
vi
里面:x,wq,dd啥意思
shell
cat a.txt 2>|tee ... 管道?
之后还见了见hr mm,随便聊了聊三

群硕面试指南
sothink
发表于 2005-12-26 18:39:00

群硕有两面的 一面时技术,二面是HR面的。
技术面的时候可能会面一下英语能力的(英语对话或者是英语自我介绍)
以下是我被问到的问题(一般都是看简历问问题的)
1.
你最喜欢和最不喜欢的科目是什么?为什么?
2. Struts
中具体那些部分对应于MVC模式中的M, V, C.
3.
说说HibernateEJB的区别。
4.
说说数据库中的锁机制。(Update Insert Delete锁)
5.
说说ADOADO.NET的区别。
6. JDBC
中调用存储过程的是那个类。sqlserver
7. PreparedStatement
Statement有什么区别。
8. JDBC
中的getConnection()是工厂方法吗。为什么?
9.
存储过程和触发器有什么区别。
10.
为什么存储过程要比直接在代码中执行SQL语句快?
11. C#
中的override关键字有什么用?
12.
假设有一个三个人的团队,你是团队中作决定的人,当你和其他两个人的意见不合时,而又没有时间去论证谁的是正确的时你会怎样作决定?

当然还有其他很多随着你的回答而来的问题!^_^

本菜鸟在学delphi中的类的时候,便搜了几篇文章来参考,不想更被搞糊涂了!一篇文章里将override翻译为重载,因为手头没有计算机专业的词典。想如果它是重载,那overload是做啥的,居然让俺寻思了半下午。继续看了其他的,总算有些眉目了。

        Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。 
        Overload
是指同一个类中不同方法(可以在子类也可以在父类中定义)间的关系,这些方法有着相同的名称和不同的参数类型。

        也就是说,如果在子类声明相同的方法名称的时候,如果不是用inherited来继承的话,就会将父类的方法覆盖掉;而且父类的方法声明必须标识为virtualdynamicoverload比较好理解,就是同类里有许多相同的方法名称,但是参数不相同。且第一个方法可以不用overload来标识。

        override的方法返回值类型必须一致,modifier可以扩大,不可以缩小。

        一个不是用abstract标识的方法不可以overrideabstract方法。

       override的子类的方法抛出的异常只能是父类方法抛出异常的子异常。

 

Java面试要准备的问题
sothink
发表于 2005-12-26 16:41:00

一、Java基础知识
1.Java
有那些基本数据类型,String是不是基本数据类型,他们有何区别。

字符型,数值型,布尔型
2.
字符串的操作:
写一个方法,实现字符串的反转,如:输入abc,输出cba
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc
3.
数据类型之间的转换
如何将数值型字符转换为数字(IntegerDouble
如何将数字转换为字符
如何取小数点前两位,并四舍五入。
4.
日期和时间
如何取得年月日,小时分秒
如何取得从1970年到现在的毫秒数
如何获取某个日期是当月的最后一天
如何格式化日期
5.
数组和集合
6.
文件和目录(I/O)操作
如何列出某个目录下的所有文件
如何列出某个目录下的所有子目录
判断一个文件或目录是否存在
如何读写文件
7.Java
多态的实现(继承、重载、覆盖)
8.
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
9.Java
中访问数据库的步骤,StatementPreparedStatement之间的区别。
10.
找出下列代码可能存在的错误,并说明原因:

二、JSP&Servlet技术
1.
描述JSPServlet的区别、共同点、各自应用的范围
2.
Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”
3.
JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。
4.
描述CookieSession的作用,区别和各自的应用范围,Session工作原理。
5.
列出Jsp中包含外部文件的方式,两者有何区别。
6.
说明JsperrorPage的作用,应用范围。
7.
介绍在Jsp中如何使用JavaBeans
8.
简单介绍JSP的标记库
9.Jsp
Servlet中的请求转发分别如何实现。

三、J2EE相关知识
1.
介绍J2EEJ2SEJ2SE的区别。
2.J2EE
是一种技术还是一种平台,他提供了那些技术。
3.
什么是Application Server,它有什么功能和优点。
4.
简单介绍连接池的优点和原理。
5.Web.xml
的作用

四、其他
1.Web
安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)
2.
简单介绍您所了解的MVC
3.
简单介绍所了解的XML
4.
文档和编码规范
5.Java
中的分页、效率考虑。
6.
简单介绍您所了解的structs
18.
链表与散列表和数组的区别
19.
堆和栈的区别
20.ejb
的分类及区别
21.
你对现在软件业以及国内软件业的看法
22.
谈谈java多线程
23.
谈谈文件加密技术
24.
软件开发生命周期
25.
路由协议种类及特点
26.java
awtswing组件的GUI设计的关键
27.
对于java流的认识

28.简单描述一下awtswing区别。
29.
简述java编程中事件处理模式。
30.
你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。

31.简述逻辑操作(&,|)与条件操作(&&,||)的区别。
32.
简述 Java Server Page Servlet 的联系和区别。
33.
简述synchronizedjava.util.concurrent.locks.Lock的异同 ?
34.EJB
规范规定EJB中禁止的操作有哪些?
35.java
除了8种基本类型外,在虚拟机里还有哪一种,有什么作用?
36.
除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式?
37.classloader
中,JDKAPIClasspath中的同web-inf中的class加载方式有什么区别?
38.
列举三种以上垃圾回收算法,并比较其优缺点?
39.
编写代码实现一个线程池

40.描述一下JVM加载class文件的原理机制?
41.
试举例说明一个典型的垃圾回收算法?
42.
请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来.
43.
请写一个java程序实现线程连接池功能?
44.
给定一个C语言函数,要求实现在java类中进行调用。

45.如何获得数组的长度?
46.
访问修饰符“public/private/protected/缺省的修饰符的使用
47.
用关键字final修饰一个类或者方法时,有何意义?
48.
掌握类和对象的概念,掌握面向对象编程的本质
49.
静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法?
50.J***A
语言如何进行异常处理,关键字:thorws,throw,try,catch,finally
51.Object
(或者其子类)finalize()方法在什么情况下被调用?
52.
一个“.java”原文件中是否可以包括多个类(不是内部类)?
53.
掌握内部类和接口的概念
54.StringTokenizer
类的使用
55.
数据结构,如何遍历List中的元素?
如果要按照键值保存或者访问数据,使用什么数据结构?
要掌握Collection相关的接口和类的使用
56.
使用StringBuffer类与String类进行字符串连接时有何区别?
57.
调用Thread类的destroy()方法有什么后果?
58.
多线程,用什么关键字修饰同步方法?stop()suspend()方法为何不推荐使用?
59.
使用socket建立客户端与服务器的通信的过程
60.J***A
语言国际化应用,Locale类,Unicode
61.
描述反射机制的作用
62.
如何读写一个文件?
63.
在图形界面中,一个按钮如何处理鼠标点击事件?
64.
在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框?
65.
如何加载图片?
66.
什么是模态对话框?
67.
阐述MVC的概念
68.GUI
布局管理器的使用,FlowLayout,BorderLayout,GridBagLayout
69.
如何构造一棵树?选择树的一个节点时,如何得到这个节点?
70.
向编辑框中输入字符时,如何控制只输入整数?
71.
描述使用JDBC连接数据库的过程
72.EJB
分为几类?什么是BMP,CMP?
73.
什么是JNDI?

74.ADO是什么?ActiveX数据对象,是一个应用级程序接口.
75.
四种JDBC方式?目前的版本?
76.EJB
有哪几种?区别是什么?
77.JavaBean
EJB有什么区别?
78.
软件开发生命周期有哪几个阶段?
79.
软件开发有哪些因素?
80.
软件开发中如何进行版本控制?
81.UML
,类视图如何表示类中的继承与聚合?
82.
客户端游标与服务器端游标的区别?
83.
动态游标与静态游标的区别?
84.dotnet
由哪几个基本框架组成?
85.Oracle
SGA是什么?
86.web servers
是什么?
87.UNIX
QT是什么意思?
88.
在软件开发生命周期中的哪个阶段开始测试?
89.dotnet
J2EE的比较?
90.
什么是ActiveX?
91.Java
IDL是什么?
92.ISO9000
CMM是什么?IS09000CMM(软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CMM的五个成熟度等级。

HR面试:
    
大概是确定要我了,HR面试异常简单,她说话的时间占了整个HR面试时间的2/3,我只需要不断的附和,解释,装作一副很老实又很有经验的样子,果然她被我骗了,对我印象暴好,最后问我的期望薪资是多少,本来我就没打算签,就随便说了句:公司都有自己的薪资体系,就按公司给本科生的一般待遇吧。她很爽快的说了句4000,然后问我够不?我忙说可以,然后象征性的问了下福利方面的问题,握手走出房间.......
    HR
面试的问题涉及到诸如打算考研吗?对加班的看法,以及公司现状和理念的灌输。

群硕面试很简单啊,
我是电话面试的,技术面试+HR面试
技术面试主要就是一些基本概念
你怎么设计test case
bug
的生命周期啊,
为什么要用bug管理工具之类的,
然后就说给你一个手机,你怎么测试
很平常的问题啊

HR
面试我觉得就针对个人了
因为我是有一年工作经验的
所以对我之前的公司情况以及项目经验问的多些

HR面:负责面试我的是一个很漂亮又超级niceMM。整个面试时间应该有一个多小时,恐怕这么长时间的HR面很少见吧。最大的感受就是HR姐姐很会倾听,也可能是我今天状态不错,整个面试过程中基本上都我一人在说,Hr姐姐偶尔插一两句话。刚坐好就问我,刚才的技术面试感觉怎样,我回答不是很理想(呵呵.但从她脸上的笑容和轻松大概感觉出来我先前表现挺好)接着我就说了一个细节:面试官问了我之前在神州数码实习时做的那个全文检索项目的一些细节,比如做索引时的Level是多少,深入到技术细节化的层面有些东西忘了。看到Hr姐姐笑了,应该是对我的回答挺满意。之后就回到我的简历上了,大概地看了一下就问能否谈一下我的大学经历。我就开始回忆我的大学生活,之前还真没有去好好想过这些。就这样,从大一在廊坊东方大学城郁闷苦闷的一年生活到,回北京本部后,加入学生会参与新生舞会、组织元旦晚会;再到后来的一些实习及兼职经历,以及在这四年来每一次转折的所经历的心路历程,完全感觉不到是在面试,就像是在向一个最信任的人倾诉心里积蓄已久的压抑。整个过程中,Hr姐姐显然也受到了感染,等我结束回忆,她说我觉得你很优秀,我们决定给你这个Offer,希望你能加入群硕。那一瞬间挺惊讶,只是感觉Offer来得有点突然。然后就是Hr姐姐正是说公司提供的个人福利和待遇及个人的发展空间。再就是Hr姐姐问我还有什么问题想问她的,借这个机会和她又聊了半个多小时关于员工和公司利益、公司文化氛围之类的,心情很愉快,这次面试留下的印象挺深刻。

取自"http://wiki.maiwo.net/%E6%8B%BF%E5%88%B0%E7%BE%A4%E7%A1%95%E7%9A%84Offer%2C%E6%AC%A3%E5%96%9Cor%E7%83%A6%E6%81%BC--2007.htm"

我一向孤陋寡闻,直到群硕的宣讲会我才知道群硕这个名字的。群硕是个只有两年半时间的初具规模的公司,专门做国际市场的软件外包,目标很大,口气也很大。抱着赚点面试经验的目的,参加了群硕的笔试,笔试时间很短,60分钟。题目不难,都是大题或是问答题,我记得大概有如下题目:

  不用任何变量交换ab两个变量(老掉牙的问题)

  用递归求最大公约数(入门级基本问题)

  举一个多态的例子

  二叉平衡树(特性,内插入和 外 插入)

  UNIX进程包括那三个部分:...(简单)

  new动态分配失败会抛出什么异常,C++中提供了那两个标准函数来设定异常处理HANLDER(有点难度)

  EJB包含那几种?区别(压根没听过)

  aspasp.net的区别(假期做项目的时候碰到过,嘿嘿)

  JAVA中的interface abstract class区别(照着c里面的感念随便写了点)

  logic thinking:检测电冰箱(我用软件工程的思想随便写写)

  因为是抱着赚点经验的态度,所以做的很轻松,会的一下就能写出来,不会的再想也没用。我很快就做完了。

  面试名单第二天就出来了,我当然在其中啦。后来听说30分以上就能进入面试,呵呵,看来题目虽然简单,还是有很多人不会的。

  群硕的办事效率绝对高,只需要一轮技术面试,通过的就可以和hr谈条件,给offer了。这是我最得意的一次面试,面试官是一个30多岁的帅哥,穿的很随便,典型的技术人员。他仔细的看了我的简历,然后就问我的项目经历,我很详细的向他阐述了整个开发过程,他显的颇为满意,然后就聊到了数模竞赛,我这个体会多的呢,跟他balabala了一通,他问我用到了哪些软件,我说matlabvisual c++lingolindo。他说没听过lingolindo这些软件,嘿嘿,于是我就开始发挥了,吹了一通。接下来的气氛相当的好,他也开始给我吹他的历史,他说他java很厉害,dephi也不错,换了很多工作,最后选择了群硕等等,我说我是学校c/c++版的斑竹,他说,他以前在csdn上的专家分有两千多,我赞了他一下,说我在csdn上也有一千多的专家分………聊啊聊,四十多分钟过去了,他很满意的说:跟我来,和我们的经理谈谈。我知道这次offer肯定是有了。

  我刚才说过,一般面试者只需参加一次面试,参加两次就意味着他们重视,嘿嘿,那个兴奋啊。经理很随和,也和我聊了一些项目经验啊,爱好,性格等开放性的问题。看得出,他也是很满意的

  后来就见hr了,她对我做了简单的点评后说:一般本科生进来给的职位等级是st(好象是软件培训生),工资是不会超过4000的。你的表现不错,我给你的是se(软件工程师),5000/月。当时除了激动,竟忘了说什么了。人生的第一个offer就这样到手了,骑车出来,一路哼着胜利的小曲…………

  到现在总算有个offer垫底了,心里也踏实了很多。回来后继续上网调查群硕,通过一阵搜索,感觉到在群硕工作强度太大,每天都工作到晚10点后,工资5000应该算是不错了,但其他福利待遇很少(其实在白天的面试过程中hr也有提到:群硕实行的是残酷式的训练和工作,我们需要有激情的年轻人,如若吃不消,最好不要考虑群硕)。唉,先不管那么多了,拿到offer总是好事,这毕竟是人生的第一个offer,而且是我们班的第一个offer,甚至是我们系比较早的一个offer了。

取自"http://wiki.maiwo.net/%E4%B8%8A%E6%B5%B7%E7%BE%A4%E7%A1%95%E7%AC%94%E8%AF%95%E9%9D%A2%E8%AF%95%E7%BB%8F%E5%8E%86--2005.htm"

hr面试小姐好像所有公司都是很漂亮的,嘻嘻,这里气氛就很好了,随便谈谈,她先问我与别人相比自己有什么不同,我就说我比较务实和主动,只要有可以展示自己的舞台,我都不会放过这个机会,我列举了我参加各种竞赛的事,她又问我以后的职业规划,我说我经常跟同学开玩笑:你们以后就来我公司工作。她说我的目标是开个公司吧,我说可以这样说吧,我不喜欢去政府部门什么的,我听了你们的宣讲会,对你们老总特别崇拜,他是SQL的发明者之一、曾任IBM副总裁,宏基也是他一手带大的,我感觉他太牛了。呵呵,这样就结束了,感觉很顺利,她给个信封说里面是offer,想去他们公司的话年底之前写好寄过去就可以了,我就纳闷怎么没谈薪水呢。出来春哥说薪水在offer上有,打开信封才明白,薪水包括个人所得税和各种保险金,其实这样也就剩下不多了,不管了,反正拿到第一份offer

 

1.DebugRelease build的区别,速度有差异吗?why or why not

2.死锁的四个必要条件;

3."assignment operator”and “copy constructor"的差异

<script type="text/javascript"> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>  

4.What s serializationhow does it work in .net or Java

5. what s reflection in java

6.How many data types can be used in swith (Java)?

7.定义 a) 含有十个元素的指针数组;

b) 数组指针;

c) 函数指针;

d) 指向函数的指针数组;

8.Describe scope of public/private/frined/protected/protected frined

(C#)

二、

1.an array,Bubble sort.

2.judge current platform using big endion or little endition(高字节还是低
字节存放)

三、

1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现
一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空
间,能否设计一个算法实现?(今天唯一的收获就是做出了这个题)

1001个元素相加减去1,2,3,……1000数列的和,得到的差即为重复的元素。
 int Find(int * a)
 {
 int i;//
变量
 for (i = 0 ;i<=1000;i++)
 {
 a[1000] += a[i];
 }
 a[1000] -= (i*(i-1))/2 //i
的值为
1001
 return a[1000];
 }

利用下标与单元中所存储的内容之间的特殊关系,进行遍历访问单元,一旦访问过的单


元赋予一个标记,利用标记作为发现重复数字的关键。代码如下:
void FindRepeat(int array[], int length)
{
 int index=array[length-1]-1;
 while ( true )
 {
 if ( array[index]<0 )
 break;
 array[index]*=-1;
 index=array[index]*(-1)-1;
 }

 cout<<"The repeat number is "<<INDEX+1<<ENDL;
}

此种方法不非常的不错,而且它具有可扩展性。在坛子上有人提出:

对于一个既定的自然数 N ,有一个 N + M 个元素的数组,其中存放了小于等于 N 的所有

自然数,求重复出现的自然数序列{X}


对于这个扩展需要,自己在A_B_C_ABC(黄瓜儿才起蒂蒂)的算法的基础上得到了自己的算法

代码:

按照A_B_C_ABC(黄瓜儿才起蒂蒂)的算法,易经标记过的单元在后面一定不会再访问到,除非它是重复的数字,也就是说只要每次将重复数字中的一个改为靠近N+M的自然数,让遍历能访问到数组后面的单元,就能将整个数组遍历完。

代码:
*/
void FindRepeat(int array[], int length, int num)
{
 int index=array[length-1]-1;
 cout<<"The repeat number is ";
 while ( true )
 {
 if ( array[index]<0 )
 {
 num--;
 array[index]=length-num;
 cout<<INDEX+1<<'T';
 }

 if ( num==0 )
 {
 cout<<ENDL;
 return;
 }
 array[index]*=-1;
 index=array[index]*(-1)-1;
 }
}

地区B:
题目:
1.
过程化编程和面向对象编程的区别
2.(a-1)xora==0
条件
3.Garbage Collection
4.java
中 equals() == 的区别
5.C++
中类的定义:函数重载出错
6.
数据库理论中的数据完整性

数据库的完整性是指数据的正确性和相容性,这是数据库理论中的重要概念。完整性控制的主要目的是防止语义上不正确的数据进入数据库。关系系统中的完整性约束条件包括实体完整性、参照完整性和用户定义完整性。而完整性约束条件的定义主要是通过CREATE TABLE语句中的[CHECK]子句来完成。另外,还有一些辅助命令可以进行数据完整性保护。如UNIQUENOT NULL,前者用于防止重复值进入数据库,后者用于防止空值。
7.donamic(?) wed programming
redirect forward
8.
双向链表的插入
二算法 字符串倒置 
eg.
 this is a string =>gnirts a si siht

logic thinking
­
四个女人过桥,夜间有一火把,每次最多过两个,必需带火把,
过桥速度不一样
no.1 1min
no.2 2min
no3 5min
no.4 10min
两个人过用最慢一个的速度,火把不能扔
  如何在17min内四个女人都过桥

 

12先过,
1
回来34一起过去,
然后2回来,
1
2再一起过去。
就是。2+1+10+2+2=17

诉讼

群硕笔试题

2007-11-03 – 1:19 pm

1.二叉树遍历,给出前序,中序,后序三者中两者的遍历,要求写出第三种遍历
这个题目在腾讯笔试的选择题中遇到过,比较简单,根据两种遍历将那棵树画出来,应该就可以了,我就是这样做的。
2.
什么是物理内存和虚拟内存,OS中为什么要使用虚拟内存?
简单的说,物理内存是真正的内存,基本就是内存条上的内存。而虚拟内存是为了满足系统对超出物理内存容量的需求时在外存(如硬盘)上开辟的存储空间。由于虚拟内存其实是放在外存上,因而与物理内存相比读写速度都非常慢。
因为很多情况下,实际读取的文件比物理内存大,因此系统需要将读取出来的文件放到虚拟内存上,当程序中需要使用的部分才读到内存上。
3.
解释一下Java中的StringStringBuffer,什么时候需要使用StringBuffer
STRING
类的值是不是会变的->进行再次赋值操作,实际上重新NEW了一个
StringBuffer
类的值是会变的->加个试试
例子:
String str1 = “hello”;
String str2 = “world”;
String str1 = str1 + str2;//
这里所做的内部操作,其实不是把str1的内容改变为原str1+str2的内容这么简单, 而把创建一个新的String, 内容为str1 + str2的内容,然后再把str1这个引用重新指向新创建的String, 这就是上面说的String不可变.
而如果是StringBuffer的话,则直接更改str1的内容,而不是先创建一个新的StringBuffer
使用 StringBuffer 主要就是在性能上的考虑。
String
是一种非常常用的数据类型,但由于 String 是不可变对象,在进行 String 的相关操作的时候会产生许多临时的 String 对象。
StringBuffer 在操作上是在一个缓冲中进行的,性能当然优越得多。
不过,一般做为简单的字符串传递和其它操作,只不要改变字符串内容的操作,用 String 效率会高一些。
4.Java
中哪些容器的默认布局器(layout)是BorderLayout
容器Frame,和对话框组件Dialog的默认使用的布局管理器,当然这个不确定,没有好好学习JAVA

5.一个C++的函数:
int operation(int numberA,int numberB){
return numberA + numberB;
}
然后声明了三个变量:
int a = 2;
int result1 = operation(5, a++);
int result2 = operation(5+a, ++a);
result1result2的值。
考的是a++++a的问题,应该是712result2的操作的参数应该是(5+34

6.如果父类的析构函数没有声明为虚函数的话在父类的指针上调用析构函数会有什么后果?
屏蔽多态,子类申请的资源将不被释放。

7.定义了一个类:
class Something{
pulic:
Something();
void setValue(int val){
value = val;
}

private:
int value;
}
以及一个函数:
void doSomething(int val){
Something* sth = new Something(); // Line 1
sth->setValue(val); // Line 2
}
Line 2如果是doSomething()的最后一行的话会有什问题?
doSomething
执行完后sth没有被销毁,内存泄漏。

8.10进制与16进制程序转换
DtoF(int a)
{
int a,b,c;
do
{
c=a/16;
b=amod16;
printf(”%d”,b);
a=c;
}
while(a==0);
return(b);
}
实际上,计算机存储的是二进制数据,其他进制只是我们形象上的格式化输出,因此可以设定printf(”%x”,var)进行16进制格式输出。

9.逻辑题,一列火车以 15 mph 的速度从北京开往上海,另一列火车以 20 mph 的速度从上海开往北京,一只鸟(比较笨)速度 25 mph ,在两列火车之间来回飞,相遇即折回。问到两列火车相遇这只笨鸟一共飞了多远?
很简单,因为鸟一直在飞,所以一共飞了s/(15 + 20)s为上海到北京之间的距离,那么它一共飞了s/(15 + 20) * 25 mile

 IT人的成长与修养----java高手的成长历程   <script src="http://blog.csdn.net/count.aspx?ID=1680146&Type=Rank" type="text/javascript"> </script>   

很多网友问我学习Java有没有什么捷径,我说无他,唯手熟尔。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!

要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2MEJ2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EEJava2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DELPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是J2EE了。J2EE又包括许多组件,如JSP,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。

那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSPHTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看JavaMail了。

好了,对JavaJ2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+CCtrl+V,也不用劳您老大架再亲自把它 再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN
论坛 http://www.csdn.net/ 中国最有名的技术论坛,《程序员》杂志就是他们出版的,你可以在上面提出问题,马上就有人回答你,如果你觉得好,你可以给那人加分;

Java
研究组织 http://www.javaresearch.org/ 上面有很多原创文章,高手还是挺多的;

Java
开发者 http://www.chinajavaworld.com/ 那里Java资料比较全;

java.com.cn
http://www.java.com.cn/
看这域名就知道有多牛,注册用户快接近一万了,同时在线人数也在一千左右,人气很旺的;
IBM
的开发者网络 http://www-900.ibm.com/developerWorks/cn/java/index.shtml IBM永远的蓝色巨人;

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。所以你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他还愿意不厌其烦地教你,这样好象有点难哦!

还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。学Java必读的两个开源程序就是JivePet Store

Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、FilterXML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本?J道。Jive(J道版)是由中国Java界大名鼎鼎的banqJive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 http://www.jdon.com/ 去下载,或到同济技术论坛的服务器上 ftp://nro.shtdu.edu.cn 去下,安装上有什么问题,可以到论坛上去提问。

Pet Store(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EEEJB的朋友不要错过了。

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称三个月拿下中国一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/ ,他把GOF23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)吧,现在很流行的Struts就是它的一种实现方式,不过Struts用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring(重整)和极限XP编程,相信你又会上一个台阶。

做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧,你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的来了。。。。。。

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
下面介绍两个好的开源项目网站:

湖北省软件公共开发平台
http://gro.clinux.org/
共创联盟 http://cosoft.org.cn/

哇,好高兴哦,我终于成为高手了!非也,非也。古人云:识时务者为俊杰。你知道计算机界现在的发展形势吗?你知道微软的.NET蓝图和SUN ONE计划之间的明争暗斗吗?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“Web服务将是下一代互联网应用的制高点,而微软的.NET蓝图和SUN ONE计划的斗争焦点,也就是Web服务。Web服务就是一个崭新的分布式计算模型,它是一系列标准的综合(XML,SOAP,UDDI,WSDLWSFL等)。它使得不同语言编写的软件能够轻易的集成起来,使网络资源和Web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,定好房间等。请注意,这所有的一切都是Web站点间自动完成的,再也不用象现在一样,表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过就近的说,你也很有可能承接一个项目,要集成两个企业的ERP系统。很有可能上游企业的系统是用Delphi编的,而下游企业的系统是用Java编的。你说你是Java高手,大家都看者你怎么做呢。所以啊,你还得学习新技术,如Web服务,而且你Delphi也要懂一点吧(Delphi6现在已经提供Web服务的控件了)。 你编的Java系统,可能要和.NET集成,所以你.NET要懂一点吧?到最后,你可能发现你已经成为Java高手了,但很多时间却在搞别的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!

因为刚刚兴起,所以网上Web服务的资料不是很多,我还是给大家推荐几个网站吧:
中国UDDI技术联盟
http://www.uddi-china.org/
CSDN
的柴晓路专栏 http://www.csdn.net/develop/author/ColumnAuthor/fennivel/ (注:柴晓路也是互联网上一个有名的人物,他发表过很多关于Web服务的文章,还出了一书,应该称的上是中国Web服务技术的先行者)
IBM
的开发者网络的XML&Web Service专栏: http://www-900.ibm.com/developerWorks/cn/xml/index.shtml?csdn IBM可是Web服务的力推者

 

 


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页