面试-先到面试网(mian4.com)查询面试公司相关信息招聘会面试网QQ交流群:141667671  登录 快速注册 帮助

搜公司

搜职位

加入分享工资待遇

免费分享12.0000家公司的待遇、评论、面试及工作环境信息!

面试网笔试中科院计算所笔试Delphi 研发笔试
中科院计算所Delphi 研发笔试试题及答案:
研发笔试试卷(Delphi)

第一部分 Delphi知识

1.
如果一个元件希望放到IDE的元件面板上,它必须从___TComponent____类派生,
如果一个元件能作为其它元件的容器,它必须从_____TWinControl______类派生,
如果一个元件在运行时可见,它必须从________TGraphicControl_______类派生
(A)TGraphicControl (B)TWinControl (C)TComponent (D)TPersistent (E)TControl

写出TEdit、TLabel、TTimer的主要继承路径,答题格式TXXX->TXXX->......
TEdit: TObject->TPersistent->TComponent-> TControl-> TWinControl->TWidgetControl->TCustomEdit->TEdit
TLabel: TObject->TPersistent->TComponent-> TControl-> TWinControl->TFrameControl->TCustomLabel-> TLabel
TTimer: TObject->TPersistent->TComponent->THandleComponent

1) 为防止界面窗体“僵死”,可调用如下代码
A、Application.DoEvent
B、Application.DoEvents
C、Application.Idle
DD、Application.ProcessMessages
2) 解释为什么?
答:让系统响应消息,有机会响应其它的事件了。 不让 application 的 process 把系统的资源给锁死(例如: cpu)

有如下类定义,请问类THouse的InstanceSize是__32___
TPoint = packed record
X: Longint;
Y: Longint;
end;

THouse = class
private
FOwner: string; //8
FPosition: TPoint; //8
FBounds: array[0..2] of Integer; //8
FLessees: TStrings; //4
public
procedure Paint; //4
property Owner: string read FOwner; //0
end;
A、24 B、28 C、32 D、40

常用的控件ListBox、ComboBox等都有BeginUpdate和 EndUpdate方法,请问他们的主要作用是什么?
答: 一次大量加入Item时,不显示界面加入过程,以提高导入速度 写SQL语句
如果有一个部门人员表BaseInfo,字段为ID,PID,Name(姓名),PID表示上下级关系:
(1)分组查询:统计每个PID的记录数 ID 记录数
select PID, count(ID) as 下属人数 from BaseInfo group by PID

(2)请做一个查询,得到以下结果(按姓名排序)
ID 姓名 下属姓名

select 1 as id , (select name from BaseInfo where id =1) as 姓名,Name as 下属姓名 from BaseInfo where ID in
(select ID from BaseInfo where PID= 1) order by 下属姓名 desc

(3)在TSQL中使用事务需要用那些SQL关键字?
答: BEGIN TRANSACTION COMMIT ROLLBACK
解释一下Windows的消息机制和经典Windows应用程序的运作流程
答:
解释Delphi中“事件”的实现原理,如果你要为控件扩展一个自定义事件,你该怎么做?
答: Button1.OnClick := Form1.Button1Click;
定义一个Private 的
FonDo: TNotifyEvent= procedure(Sender: TObject) of object;//method pointer
if Assigned(FonDo) then FonDo(Self);//第三步

为什么在TList中Add操作要比Insert操作快?
答: Add操作,TList只是在链表尾添加,O(1)的操作;
Insert操作,要修改链表中间某位置前后记录的Link域的值 ,要从链表头开始是,是 O(n)的操作

10、某次调试中发现某树形控件响应很迟缓,经调试发现是如下语句,TreeView.Items.Clear执行缓慢,请分析可能的原因是什么?
答: 可能要析构TreeView.Items里的所有结点指向的对象

第二部分 Delphi编程
【编程】 给定一个文本文件(英文文章),统计其中各单词的频次。
Var
Form1: TForm1;
al: TIntegerList;
strL: TStringList;
Procedure TForm1.FormCreate(Sender: TObject);
Begin
al := TIntegerList.Create;
strL := TStringList.Create;
Memo1.Lines.LoadFromFile('d:\aaa.txt');
End;

Procedure TForm1.FormClose(Sender: TObject; Var Action: TCloseAction);
Begin
al.Free;
strL.Free;
End;
Var
i, a: Integer;
Procedure TForm1.Button1Click(Sender: TObject);

Begin
ListBox1.Clear;
strL.Clear;
al.Clear;
a := 1;
For i := 1 To Length(Memo1.Text) Do Begin
If not (Memo1.Text[i] In ['a'..'z', 'A'..'Z','0'..'9']) Then Begin
If not (Memo1.Text[i-1] In ['a'..'z', 'A'..'Z','0'..'9']) Then Begin
a := i 1;
Continue;
End;
If strL.IndexOf(LowerCase(Copy(Memo1.Text, a, i - a))) > -1 Then Begin
al.Items[strL.IndexOf(LowerCase(Copy(Memo1.Text, a, i - a)))] := al.Items[strL.IndexOf(LowerCase(Copy(Memo1.Text, a, i - a)))] 1;
a := i 1;
End
Else Begin
strL.Add(LowerCase(Copy(Memo1.Text, a, i - a)));
al.Add(1);
a := i 1 ;
End;
End;
End;
for i := 0 to strL.Count-1 do
begin
ListBox1.Items.Add(strL.Strings[i] ' = ' IntToStr(al.Items[i]))
end;
End;

以下是网友对中科院计算所Delphi 研发笔试试题及答案的回答:

报歉,目前还没有相关答案。我来抢答案?
  • 当前共有0条记录,每页0条,当前0/0
  • 上一页
  • 下一页
中南财经政法大学成教 武汉大学成教 武汉理工大学成教 武汉科技大学成教 华中农业大学成教 湖北工业大学成教 湖北中医药大学成教 武汉成人高考网 孝感成人高考网 荆州成人高考网 咸宁成人高考网 宜昌成人高考网 襄阳成人高考网 十堰成人高考网 武汉自考网 黄冈自考网 宜昌自考网 襄阳自考网 十堰自考网 湖北成人高考报名网 湖北自考报名网 湖北大学成教 湖北工业大学成教 湖北中医药大学成教 华中农业大学成教 武汉大学成教网 武汉科技大学成教 武汉理工大学成教 中南财经政法大学成教 上海成考网 上海自考网 中南财经政法大学自考 中南财经政法大学自考 华中师范大学自考招生网 武汉大学自考招生网 武汉大学自考专升本 武汉理工大学自考 湖北大学自考 华中农业大学自考 湖北中医药大学自考 湖北工业大学自考 华中师范大学自考招生网 湖北中医药大学成教 湖北中医药大学成教 武汉理工大学成教 武汉科技大学成教 武汉大学成教 湖北工业大学成教 湖北大学成教 华中农业大学成教 中南财经政法大学成教 华中师范大学成教 湖北中医药大学自考 武汉理工大学自考 武汉大学自考 湖北工业大学自考 湖北大学自考 华中农业大学自考 中南财经政法大学自考 华中师范大学自考
快捷答题卡

昵称:

答案:

(按Ctrl+Enter可快速提交)