[转]Delphi面试题

来源:互联网 发布:tcp端口去哪里看 编辑:程序博客网 时间:2024/05/17 06:18
作为一个世界级的大型软件公司,Borland的面试题也是与众不同的
,经过我们众多面试者的收集,现在将我们遇到过的题列出,希望
对想去Borland工作的人有点帮助。

首先说一句,这些题都很难,不要用一般的眼光去看待,也许超常
一些的回答会更有吸引力,实际面试时这些题是随机抽取的,技术
类和实践类共计10题,每类5题,其他类的不一定是试题,有可能
Borland的工作人员会请你喝咖啡,然后在曰常的对话是无意的问到
,这类问题最为麻烦,答不好就完蛋。Borland公司对人才的需求不
仅仅是Delphi,如果你精通JBuilder或C++Builder,Borland一样欢
迎你。

技术类
1.链表和数组间的区别是什么?
 (Delphi中数组就是链表)
2.列举出你知道的10种排序算法 。
3.你在什么情况下会手动的为程序分配内存?
4.什么是RTTI?
 (Runtime Type Information,运行期类型信息)
5.线程和进程间的区别是什么?
6.malloc和new的区别是什么?
 (此题有极大的陷阱,delphi中的new过程只是针对OLE对象的,常规的对象不能够使用new。而malloc可以对任意的对象分配内存,这里需要用到sizeof函数。)
7.com和com+间的区别是什么?
8.OLE和ActiveX的区别是什么?
9.你将如何用Delphi实现Corba?
 (用delphi自带的Corba工具对程序进行转换即可)
10.delphi的编译核心是什么?
 (80x86汇编 + Object Pascal)
11.如何跨越windows平台直接操作CPU?
 (使用asm关键字写入汇编代码即可)
12.delphi如何编写CGI程序?
 (使用WebBroker,WebSnap, WebService均可实现)
13.delphi与VB的区别是什么?
14.delphi与C++的区别是什么?
15.delphi与Java的区别是什么?
16.你将如何做到软件与网络的结合?
17.如何在Linux下安装delphi
 (与Windows下安装方法相同)
18.如果在一个TPageControl中要生成多个相同的TTabSheet,你将如何做以减小代码冗余?
 (将TTabSheet连同其中控件及方法一起抽象成类)
19.delphi中有内置API函数吗?
 (有陷阱,delphi中没有内置API函数,delphi实现的API功能完全由代码实现)
20.如何用delphi编写C++的插件?
21.如何用delphi编写Java的插件?
22.列举出delphi能够操作的数据库
 (这题答所有的数据库就行了, 不然你一辈子也列举不完,delphi的系统中自带的数据库驱动就有几百套)
23.delphi中如何实现静态方法?
24.你将如何把一个类封装到记录(Record)中?
 (看起来很难,其实很简单,先声明一个类,然后声明record,在record的成员中设定类成员即可)
25.你将如何实现控件的动态事件绑定?
26.你将如何用delphi编写出ASP网站?
 (使用IntraWeb组件和AW转换器即可,或者直接用ExpressWeb进行开发)
27.请讲出VCL的层次
 (这题最变态,从TObject开始背吧)
28.如果有你编写不了的功能,你会怎么处理?
29.GNome下的delphi有什么特殊的功能?
 (如果你没用过GNome,想进Borland就很难,Borland规定的操作系统就是GNome)
30.你将如何把一个自定义类型的数据从服务端传递到客户端?
 (别被迷惑,其实只需串行化就行了)
31.你将如何用delphi动态的创建一个Paradox表?
32.你将如何解决windows系统下出现的未调用CoInitialize错误?
33.如何用批处理文件编译delphi程序?
 (用DCC32.EXE在命令行下进行编译)
34.你会在什么时候使用published访问区分符?

实践类
1.用数组实现栈,并且当栈空间满时,栈空间增加一倍。
2.输入年月曰格式yyyymmdd,判断是否是周末。
3.遍历一棵树,不能用递归
4.读取一个XML文档,将其中的字段输入到数据库中
5.编写一个程序读取计算机上的SQL Server数据内容
 (给你编程的计算机没有安装SQL Server,也不允许安装,同时,也没有任何的可用服务器与这台计算机相关联。这道题看起来非常难,实际上你操作了就知道,解决方法甚至比通过服务器连接更简单)
6.编写一个程序,向指定号码的手机发送一条短信
 (给你编程的计算机已开通GPRS服务,发送的号码是考官的手机号)
7.编写一个程序,读取指定文件夹内的所有文件
 (那个文件夹里有近万个文件,必须用多线程的方法进行设计,不然程序一运行就会卡死)
8.编写一个程序,为本机获取一个二级域名
 (这个很难,不知道怎么做,估计需要知道域名协议的有关内容)
9.编写一个程序,这个程序能够判断一个可执行文件是用什么语言编写的
 (涉及到资源流的概念,同时需要熟悉各编程语言的特性代码)
10.编写一个服务器,这个服务器能让互联网上的用户访问到,并且能够显示一个网页。
11.编写一个能够同时在windows和Linux下运行的记事本程序
12.编写一个能够在局域网内相互发送文件的程序
 (使用内存流即可轻松解决此问题)
13.编写一个程序,输入生曰后输出从生曰到现在已经过了几天
14.编写一个程序,该程序的窗体没有边框,但是可以通过按下键盘的方向键来移动。
15.用Delphi实现Java中的EJB操作
 (别说你没有学过Java,delphi的特性就是多语言支持,这个一定要掌握的)
16.编程一个过程,这个过程可以将任意的程序发送快捷方式到任意位置
 (使用OLE技术制作即可)
17.制作一个软件,它可以访问,添加,修改或删除Paradox数据内的数据,但是这个软件不允许写任何的代码
18.编写一个程序,这个程序能够启动记事本,并且等待它运行结束
 (用进程勾子制作即可)
19.编写一个16进制数转为10进制数的函数,但是只允许写一行代码

其他类
1.你喜欢喝咖啡吗?
2.你抽烟吗?
 (Borland公司内禁止抽烟,该怎么回答应该知道吧)
3.你有女朋友吗?
4.你谈过几次恋爱?
 (从恋爱的次数能看出一个人的稳定性,越少越好)
5.你无聊的时候会想到要做什么?
 (千万不要回答写程序,这样只会让别人以为你是呆子,除了写程序什么也不会)
6.你怎么会想到要成为一个程序员?
7.如果公司暂时无法为你安排岗位,你愿意先在公司做勤杂吗?
 (这题问的很有水平,千万不要因为急于想进Borland而回答“愿意” 。你应该拒绝,因为程序员本来就不是做杂活的)
8.你以前有没有学过其他的编程语言?
9.你对微软或是Sun公司的评价怎样?
 (不要说太偏激的活,特别不要谈到龚断之类的东西,因为borland自己也龚断得厉害)
10.如果让你做项目经理,你会如何分配手下员工的工作?
 (最好的回答是“不知道”,因为你现在不是项目经理,没有必要谈那么多理想的东西,Borland不喜欢那些事情没做就先夸夸其谈的人)
 
原创粉丝点击