查看文章
 
Delphi经典面试题目-南山古桃-关键词:Delphi,试题,面试,工作,问题
2008年05月20日 星期二 下午 5:06

关键词:Delphi,试题,面试,工作,问题

1、 在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好,为什么?
答:
各有好处,要根据需要而言。

存储过程
优点:相对而言,由于其在服务器端执行,只返回结果集,网络流量较低,速度会快一点,而且,更好的做到了界面与业务逻辑(存储过程)的分离,由于C/S模式在维护升级方面的特点,如果后期业务逻辑发生变化,只需要修改存储过程就可以了(前提是原存储过程接口定义的好),而不需要升级所有客户端。
缺点:在一些跨DBMS的系统中,需要将存储过程迁移到另外的DBMS(如从SQL Server转到Sybase),这是需要一定的工作量的。而如果采用内嵌SQL,一般情况下是使用标准SQL,对许多流行的DBMS都是通用的(如果不使用该DBMS特有的系统函数的话),就不存在这个问题。
内嵌SQL
优点:编写容易,控制灵活。
缺点:上面存储过程中有描述。
评:
此题目主要考核答题者在编程时是否会考虑数据操作的执行效率,该题回答的比较充分、全面,除了肯定存储过程的执行效率外,还对内嵌SQL和存储过程在不同情况下的维护难易程度做了比较,说明答题者编程时会选择较优化的数据操作方式。
3、 DELPHI中如何调用API,可举例说明
答:
先用DECLARE声明某个动态链接库(DLL)中的函数,然后像普通函数那样使用。具体得实际操作。
评:
此题目主要考核答题者对外部函数的使用经验。此题说明答题者在编程时会考虑调用外部函数,回答时如果能指出在应用程序的Global External Functions中定义外部函数的话就更全面了。
4、 你怎么理解transaction 事务的概念?
答:
将若干个DML(SELECE、UPDATE、INSERT、DELETE)作为一个整体看,要么全部生效,要么全部不生效。从一个连接开始,就开始了一个事务,直到遇到COMMIT或ROLLBACK语句,才标志一个事务的结束和一个新事务的开始。
评:
此题目主要考核答题者对事务管理的认识。事务管理对数据库应用程序而言是非常重要的,事务是实现并发控制,保证数据完整性和可恢复性的原子单位。对那些不可分割的数据操作序列应组织成事务提交,这样才能使执行效果与应用设计一致,并避免多用户对同一数据集操作的冲突。该题基本回答出了事务的概念,说明答题者编程时会考虑数据操作的完整性和并发性。
5.实际操作:

1、 使用TreeView控件设计界面,连接SQL数据库
评价:
对工具的使用较熟练

2、 提供范例:
1、 XXXX管理系统
2、 XXXX管理系统

评价:
界面友好,操作简单,功能较复杂,证明对PB工具的掌握情况不错。
Q:6933/25421化成最简单分子式得多少?

想了想
A:
for i:=6933 DIV 2 downto 1 do begin
if (25421 DIV i * i =25421) and (6933 DIV i * i =6933) then begin
ShowMessage(Inttostr(6933 DIV i) + '/' + Inttostr(25421 DIV i));
Break;
end;
end;
Q:.......
Q:为什么要6933 DIV 2而不是6933?
A:明显25421不能整除2,用6933不是多算了很多很多次.
Q:为什么要Downto 1 而不是 1 to ?
A:用1 to 还要保存最大公约数,而这样第一个满足条件的就是最大公约数
后来我一看他们答案写了一个3/11,汗....
8.编程语言:delphi7.0或Vc++6.0
时间: 4小时内
环境: 可参考帮助文档,但不能上网查资料

1、编程查找指定目录下所有EXE文件,并将其全路径存入Result.txt中,要求用递归。
2、采用SOCKET(可用SOCKET API或delphi Socket控件)实现点对点传输大文件,要求不能掉包。
3、用程序创建ACCESS数据库a.mdb,并创建表tb,对该表记录实现查询、添加、修改、删除。要求在程序中用SQL语句来实现。
4、采用多线程技术统计出当前计算机上的文件总数。要求用Visio或Word画出程序流程图。


类别:Delphi||添加到搜藏 |分享到i贴吧|浏览(1768)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu