| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1458 人关注过本帖
标题:给大家看几道面试试题,不是很简单的。
只看楼主 加入收藏
ysp_1984
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:371
专家分:0
注 册:2006-1-5
收藏
 问题点数:0 回复次数:6 
给大家看几道面试试题,不是很简单的。

面试试题。

程序阅读:
异常处理:
var
 I: Integer;
begin
 I := 100;
 try
 I := I + 10;
 try
 I := I + 20;
 I := I div 0; //抛出异常
 I := I + 30;
 finally
 I := I + 40;
 end;
 except
 I := I + 50;
 end;
 I := I + 60;
 Edit1.Text := IntToStr(I);
end;
以上代码执行后,Edit.Text=________

面向对象(覆盖与改写(override))
TClass1 = class(TObject)
private
FIntProp: Integer;
protected
public
procedure Add1; virtual;
procedure Add2;
property IntProp: Integer read FIntProp write FIntProp;
end;

TClass2 = class(TClass1)
private
protected
public
procedure Add1; override;
procedure Add2;
end;

procedure TClass1.Add1;
begin
FIntProp:= FIntProp + 1;
end;

procedure TClass1.Add2;
begin
Add1;
FIntProp:= FIntProp + 3;
end;

procedure TClass2.Add1;
begin
inherited Add1;
FIntProp:= FIntProp + 5;
end;

procedure TClass2.Add2;
begin
inherited Add2;
FIntProp:= FIntProp + 7;
end;

var
AObject: TClass1;
begin
AObject:= TClass2.Create;
try
AObject.IntProp:= 0;
AObject.Add1;
AObject.Add2;
Edit1.Text := IntToStr(AObject.IntProp);
finally
AObject.Free;
end;
end;

以上代码执行后,Edit.Text=___________

程序逻辑:
完成程序并写出程序的功能
type
IntegerArray = array of Integer;
function BinarySearch(AArrInt: IntegerArray; const AInt: Integer): Integer;
var
left, right, middle: Integer;
begin
result := -1;
left := Low(AArrInt);
right := High(AArrInt);
while (______________) do 答案为:___________
begin
middle := (left + right) __________; 答案为: ___________
if (AInt = AArrInt[middle]) then
begin
Result := middle;
________; 答案为: ___________
end;
if (_____________) then 答案为: ___________
left := middle + 1
else
right := middle - 1;
end;
end;

程序设计:
写出些你认为重要的编程时的一句话原则
写一个最简单的递归调用函数
写一个快速清除字符串中空格的函数

//以下为知识与交流部分,请准备一下

WIN32基础:
就以下内容选择一个你比较熟悉的进行讲解:
进程/线程
内存管理
异常处理机制
程序调试机制

DELPHI:
就以下内容选择两个你比较熟悉的进行讲解:
IS操作实现方法
内存管理器
事件机制
运行时FORM的重建过程
虚拟方法与动态方法的差别以及原因
重载(overLoad

搜索更多相关主题的帖子: 试题 面试 
2006-03-25 05:00
Delphi_lover
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-11-20
收藏
得分:0 

好高难度的东东啊! 我是个菜鸟,懂不起!


2006-11-23 21:39
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 

问题提的不错,第一条关键是理解异常try...finally...end; 与try...except...end;的处理;

第二条是理解基类中虚函数被子类覆盖,用C++讲就是父类被子类继承之后父类的虚函数的处理方法

第三条主要写的是个二分法查找程序。DELPHI提供了High和Low函数方便了取数组的上下界限。
不过程序在开始之处应该说明序列是一个有序序列,不然的话,无法进行。


大家都是朋友,有空就来坐坐!
2006-11-24 09:44
LEAN
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-12-8
收藏
得分:0 
1. Delphi中 Integer、Double、Int64、LongInt各占多少字节?
2. lstr: String; 求出SizeOf(lstr)=?
3. 将Int64值赋给Double类型会不会造成数据丢失?
4. str1: string[60] 与 str2: string; 有什么不同?
5. 将上题中的str1拷贝到str2中。
6. APointer:= Pointer(str1)^ 该指针指向哪里?
7. 如何改变动态数组的元素个数?
8. 获取一块1024字节的内存如何声明?
9. 如何声明一个数组常量?请写出示范代码。
10. TMyRec = packet record 与 TMyRec = record 有区别吗?
11. repeat until(ABoolean); 循环语句的条件ABoolean是True还是False时继续执行循环体?
12. stdcall与Delphi的函数调用方式有什么区别?
13. 请写出声明Delphi事件的声明代码。
14. 面向对象的基本要素是什么?
15. overload; 和 override有什么区别?
16. finalization、initialization 分别在什么时候执行?
17. 在接口处引用单元和在实现段引用单元有何不同?
18. 写出动态加载Test.DLL动态库,并调用其导出的function A(const AStr: string): string;的示意代码。
19. 是否了解活动目录、COM?
20. 是否熟悉多线程编程?简述线程同步的几种方法。
21. 是否熟悉Socket网络编程?简述同步与异步的区别。
22. 简述项目开发的流程。
23. 写出你最擅长的编程技术。
24. 列举你平时看得一些技术书籍。


我随便出的几道面试题。
2006-12-08 13:52
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 
1, 4、8、8、4
2, 4
3, 我认为应该不会丢失吧,同是8字节的,真正的我没有试过!!!
4, 都是指向字符串首地址指针,只不过第一个已经分配了长度为60。而第二个没有。
5, 首先应该分配内存给Str2, 然后再赋值!
6, 指向Str1内存地址的指针
7, 这个动态的分配空间,然后再插入数组后。
8, 好像是用WriteBuffer
9, S : array of Variant;
10, Packet可以节约内存,使结构尽量的少占用内存。
11, 直到条件为真时候,循环终止!
12, 没有真正去体会过,用的也不是太多,还请LEAN赐教
13, procedure Proc(Sender : TObject);
14, 封装,继承,多态,
15, 重载,和覆盖,跟C++中的重载和继承差不多,
16, 主工程文件引用顺序,在主程序前执行(Initialization),现反的(finalization).
17之后的练习不是很多,但是会一直摸索的。还请LEAN多多赐教!
编写单独的DLL模块做过,对COM也是接触了一些。活动目录没有接触过。
多线程编程接触过,但是真正用到的并不是很多,所以没有去加深印象,
Socket网络编程不熟悉!
项目开发流程,因为我从事的是应用程序的开发,所以现在摸索着前进,
我还是喜欢数据库方面的开发,对应用程序的数据结构的设计比较感兴趣!从而理解客户的需求的整个流程
编程思想,软件工程,DElPHI6开发等等!
不知道上面的回答正确否,还请LEAN高手赐教!!!

------------------------------

相信LEAN是个开发时间比较长的高手,
有时间还是要向您请教请教!!!也欢迎您经常来光顾本板块!!

大家都是朋友,有空就来坐坐!
2006-12-08 16:56
LEAN
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-12-8
收藏
得分:0 
8.在Delphi中可以用GetMem(lPointer, lSize);

9.const KEY: array[0..4] of string = ('AIM-9M', 'AIM-7M', 'AIM-120C');

10.加了packet就是结构不进行数据对齐,在与C或C++及网络数据结构处理方面应用较多。

12.stdcall参数压栈顺序是从右至左,Delphi其实是fastcall 是采用寄存器传参。系统API都是用stdcall调用方式。

13.TMyNotify = procedure(Sender : TObject) of Object; 最后的of Object切不可丢掉。

14.Initialization 是在每个单元文件载入的时候调用的代码段、finalization反之。

volte客气, 请教不敢当,交流非常乐意. : )
2006-12-11 21:32
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 
13题目出的有点问题?
最好是提问delphi自定义事件的声明,那样的话就是楼主的答案;
多一个字少一个字可是有很大差别的!

楼主好像对网络编程熟悉!是否可以给大家讲讲这方面的东西!
就按照你所用的体会来给大家剖析一番。

大家都是朋友,有空就来坐坐!
2006-12-13 08:53
快速回复:给大家看几道面试试题,不是很简单的。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012721 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved