魔幻紫光

Nothing is difficult to a willing heart!
posts - 117, comments - 143, trackbacks - 5, articles - 29
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

一家软件公司的笔试题

Posted on 2005-04-21 12:46 魔幻紫光 阅读(3466) 评论(8)  编辑 收藏 网摘
一家公司的笔试题:

1、请简述C++中OO的几个基本特征
2、int a[3]={1,2,3};int b=sizeof(a)/sizeof(a[0]);b=?;或者:char* s = "hello";sizeof(s)=?strlen(s)=?
3、Windows窗口为什么是方的,而不是圆的?
4、C++的程序,如果有多态,为什么一般的比不使用多态的要慢?
5、软件开发过程一共有几个阶段?哪个阶段最重要?
6、关系型数据库,你知道哪几种?OODB为什么没有流行?
7、JAVA程序为什么可以跨平台?.NET的是否可以?
8、某Server:16CPU/8G内存/WindowsXP,应用程序最多可以使用的内存是多大?
9、多线程程序是否一定比单线程的快,为什么?
10、交换两个整形变量的值有几种方式?
11、请举例说明什么是数据库中的事务处理
12、假设内存中某地址1000处是0x10,1001处是0x01,那么该地址对应的整数值是多少?
13、如何估计某个软件项目的工作量?
14、假设有一个外地客户的程序出现了问题,你该如何解决他的问题?
15、你对微软公司,是怎么看的?

Feedback

#1楼 [楼主]   回复  引用  查看    

2005-04-21 14:48 by 魔幻紫光      
第2题,一半以上的人认为strlen(s)=6,原因是后面还有一个\0,理由很充分,上课的时候老师就是这么讲的。sizeof主要想考察一下,是否知道其真正含义。也如上面某位兄弟说的,类似12题,如果他能问我这究竟是16位的,还是32位的,或者是64位的,那么我认为他对这个点了解的就比较清楚了。
第5题,其实没有哪个阶段最重要。而且大部分答的是可行性分析在需求调研之前。
第8题,想考察大家是否对于Windows程序内存的基本知识。因为我们碰到过类似的问题,一个asp的错误,导致系统很快用光了2G物理内存。当然,如果有人能够说出来最大可以到达3G(win2k server上),那更好。
第10题,本来是个送分的问题。呵呵,一半以上的人不知道使用指针、使用中间变量。我更没指望类似于a=a+b;b=a-b;a=a-b;这样的答案出来。

#2楼 [楼主]   回复  引用  查看    

2005-04-21 14:48 by 魔幻紫光      
3. 或许是坐标的问题吧,默认情况下,屏幕的像素定位使用(x, y, w, h),这样的坐标与矩形区域结合使用最为合适。但如果你愿意,你可以把Windows做成圆形的,甚至不规则,只要你有技术,任你喜欢。在.NET里面,你可以使用System.Drawing.Region类来约束Windows窗口的可视区域。看看Windows Media Player的Skin吧!

4. 因为这需要使用RTTI,C++本身就是一种编译期确定的语言,在使用多态的时候,类型的判断和审核要推迟到运行时,不得不牺牲一些性能。对比.NET泛型是运行时绑定的,C++的模板就是编译时绑定的。那么你认为静态语言的性能为什么会比动态语言得来的好呢?

5. 软件开发过程有:分析、设计、实现、测试、部署与管理等。任何一个阶段都重要,而且你不应该再任性的采用瀑布模式,因为变化随时发生,你应该允许过程中出现交替和迭代。不知道你有没有看过《敏捷软件开发》后面的那两个小品?

6. 关系型数据库有多少种?你是想问供应商有多少个吧?Microsoft SQL Server, Oracle, IBM DB2, Sybase等。OODB是面向对象数据库的简写吧?一个简单的回答是关系型数据库普及的早,如果你的企业已经使用关系型数据库建立了一个较为完整的资料库,你会贸然改用OODB吗?你应该知道这个迁移的过程所要付出的代价可能是很昂贵的!

7. Java通过VM达到跨平台的效果,VM对于OS和Java来说相当于Adapter模式的角色。当然,也存在着Java没有实现真正意义上的跨平台,不过眼见的是,的确有不少Java应用在不同的平台上运行的正爽。.NET使用VM,然而好像没有怎么听说它的跨平台特性。那是因为微软并没有在这方面下苦功夫,微软希望Windows上为客户提供最好的,你就别想着在别处使用相类似的功能了。然而,微软的确有一个开源的Rotor,它可以编译运行在多个平台上。但更重要的是,Mono已经崛起,将有望成为.NET跨平台的希望。

10. 本题有点像研究生试卷上的1+1=?。

11. 这题有趣,想象一下你要到银行汇款给K先生,钱已经从你的账户划掉了,但还没有在K先生的账户作相应的反映,此时,因为不知名的原因,系统出现故障,结果是,你的钱不翼而飞!你丢了钱,K先生每收到钱!郁闷么?题外话,此时你应该找谁?银行?系统供应商?法律部门?街头酒吧的老板?还是回家找老婆?

#3楼 [楼主]   回复  引用  查看    

2005-04-21 14:48 by 魔幻紫光      
1:C++中的OO基本特征是类和对象还继承,多态,重载
类就是包含数据和函数的复杂数据结构是对象的抽象体

对象是就实体;它包含数据和操作

继承分为单一继承和多重继承。

多态是相同的运算符和函数名用不同的代码实现。一个接口,多种实现方法。

重载——一下想不起怎么说

2:b=3(这里假定b为2byte)

3:我认为圆形的窗体难以实现的。

4:因为可能会重复很多相类似的代码

5:分为7个,系统分析,软件项目,需求分析,软件设计,编码,软件测试,软件维护
系统分析和需求分析最重要。个人认为不应该分轻重

6:SQL20000,其他不知道啦,没有了解过

7:因为有java虚拟机。.net也可以

8:看不懂,但内存应该就是物理内存;至于虚拟内存好象在这里不好说

9:不一定,因为不是所有程序是同步进行的

10:我知道的有3种

(a) t = a;
a = b;
b = t;
(b) a = a*b;
b = a/b;
a = a/b;
(c) a = a+b;
b = a-b;
a = a-b;

11:不懂

12:977

13:主要看这个项目的要实现多少功能和要涉及各个部门

14:因为是外地客户所以要考虑出差费用,所以最好先和他进行充分沟通,了解他的问题,制定并解决问题的方案。如果他能通过你的制定的方案解决是最好的。实在没有办法那只能去实地解决!解决回来还要备档

15:没有太多的看法!

#4楼    回复  引用  查看    

2005-07-04 13:24 by 蛋白质      
楼上的楼上说话很幽默吗?呵呵!还是高手
能不能帮忙介绍一下学高级编程的经验,我总是在初级里跳不出来.主要是我现在的工作用不到吧
真诚的希望大侠们能给介绍一下方法.

#5楼    回复  引用    

2005-09-28 14:32 by 关于第三题! [未注册用户]
为什么WINDOWS窗体是方的不是圆的? 因为屏幕是方的:)

#6楼    回复  引用    

2006-09-06 15:27 by leadmeon [未注册用户]
2.b=3,strlen=5,虽然有\0,但用这个函数求的时候还是没把它加进去

#7楼    回复  引用    

2006-09-06 15:31 by leadmeon [未注册用户]
4应该是和用虚指针访问虚表,再确定具体使用哪个函数有关系

#8楼    回复  引用    

2006-10-17 22:52 by 志武 [未注册用户]
2.int a[3]={1,2,3};int b=sizeof(a)/sizeof(a[0]);b=?;或者:char* s = "hello";sizeof(s)=?strlen(s)=?
答案为:b=3;
在32位系统上:sizeof(s)=4,strlen(s)=5(怎么可能是6!!!基本的还没掌握!!)




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: