【delphi面試題】【找工作中,傾家盪產求 delphi面試題,有題者請回貼,重謝!!!!! 】


【delphi面試題】【找工作中,傾家盪產求 delphi面試題,有題者請回貼,重謝!!!!! 】

47 个解决方案

#1


up

#2


支持,up

#3


個人認為學好OOP,都不難了。。。

#4


呵呵,俺也沒經歷過別人考試,具體的就談談以前軟件的工作流程
聽同學曾經面試之后說過,靠,問題太簡單了
例如:1、做一個公用登陸窗體
2、做一個數據庫自動備份功能
不過看公司的具體情況,側重點在哪

#5


頂一頂

#6


#7


如果讓你來設計TObject類 你該怎么設計。

#8


1、 在DELPHI中調用存儲過程和使用內嵌SQL哪種方式更好,為什么?
答:
各有好處,要根據需要而言。
存儲過程
優點:相對而言,由於其在服務器端執行,只返回結果集,網絡流量較低,速度會快一點,而且,更好的做到了界面與業務邏輯(存儲過程)的分離,由於C/S模式在維護升級方面的特點,如果后期業務邏輯發生變化,只需要修改存儲過程就可以了(前提是原存儲過程接口定義的好),而不需要升級所有客戶端。
缺點:在一些跨DBMS的系統中,需要將存儲過程遷移到另外的DBMS(如從SQL Server轉到Sybase),這是需要一定的工作量的。而如果采用內嵌SQL,一般情況下是使用標准SQL,對許多流行的DBMS都是通用的(如果不使用該DBMS特有的系統函數的話),就不存在這個問題。
內嵌SQL
優點:編寫容易,控制靈活。
缺點:上面存儲過程中有描述。

評:
此題目主要考核答題者在編程時是否會考慮數據操作的執行效率,該題回答的比較充分、全面,除了肯定存儲過程的執行效率外,還對內嵌SQL和存儲過程在不同情況下的維護難易程度做了比較,說明答題者編程時會選擇較優化的數據操作方式。

#9



3、 DELPHI中如何調用API,可舉例說明
答:
先用DECLARE聲明某個動態鏈接庫(DLL)中的函數,然后像普通函數那樣使用。具體得實際操作。

評:
此題目主要考核答題者對外部函數的使用經驗。此題說明答題者在編程時會考慮調用外部函數,回答時如果能指出在應用程序的Global External Functions中定義外部函數的話就更全面了。

#10


4、 你怎么理解transaction 事務的概念?
答:
將若干個DML(SELECE、UPDATE、INSERT、DELETE)作為一個整體看,要么全部生效,要么全部不生效。從一個連接開始,就開始了一個事務,直到遇到COMMIT或ROLLBACK語句,才標志一個事務的結束和一個新事務的開始。

   評:
     此題目主要考核答題者對事務管理的認識。事務管理對數據庫應用程序而言是非常重要的,事務是實現並發控制,保證數據完整性和可恢復性的原子單位。對那些不可分割的數據操作序列應組織成事務提交,這樣才能使執行效果與應用設計一致,並避免多用戶對同一數據集操作的沖突。該題基本回答出了事務的概念,說明答題者編程時會考慮數據操作的完整性和並發性。

#11


網上有相關的題目,這主要看公司的.

#12


實際操作:
1、 使用TreeView控件設計界面,連接SQL數據庫

評價:
對工具的使用較熟練

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

    評價:
界面友好,操作簡單,功能較復雜,證明對PB工具的掌握情況不錯。

#13


呵呵,我經歷的 ,希望對你有幫助

#14


公司一般不會專門考你Delphi,通常是一些操作系統方面或數據庫方面尤其是Sql 語句,有難度的公司會考一些算法的問題如二分法查找、二叉樹等,回溯倒是一般不會考,有些公司甚至考一些基礎邏輯方面的,如幾個數字相乘得24這種但限時完成

#15


DURON800(言之有理)

哈哈,夠熱心,而且好有意思,hoho

#16


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,汗....

#17


...up

#18



#19


upupupup

#20


幫你up~

#21


...up

#22


還有嗎?我也想了解一下。

#23


1.寫一函數,實現給定控件及子控件的Enabled屬性賦值
2.動態鏈接庫實際使用中最容易出現問題的情況有哪些?以及解決辦法?

#24


北京的DELPHI程序員的價值在那 啊????

#25


up

#26


UPUPUP...

#27


我碰到過的,類方法和對象方法的理解。SQL語句。OverLoad and Override的區別。

#28


談談虛函數的應用!

#29


編程語言: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畫出程序流程圖。

#30


太難了,出題的公司很變態。

#31


1、編程查找指定目錄下所有EXE文件,並將其全路徑存入Result.txt中,要求用遞歸。
2、采用SOCKET(可用SOCKET API或delphi Socket控件)實現點對點傳輸大文件,要求不能掉包。
3、用程序創建ACCESS數據庫a.mdb,並創建表tb,對該表記錄實現查詢、添加、修改、刪除。要求在程序中用SQL語句來實現。
123 我有代碼?
4、采用多線程技術統計出當前計算機上的文件總數。要求用Visio或Word畫出程序流程圖。
這個有多線程的代碼!統計出當前計算機上的文件總數就沒有了

#32


#33


好極了!!

#34


mark

#35


幫頂!祝你面試成功

#36



在技術上把他面試的人擺死。
他們什么話都沒說了。

以后就想機會跳

#37


轉載:=博藝工作室

一. 選擇題(共40道)


1.  用戶開發程序時需要經常在窗體和編輯器窗口之間來回切換,可使用快捷鍵()。
A、 F12和F11       
B、 F12和F13       
C、 F12和Ctrl+F12      
D、 F12和Alt+F12       
E、F12和Shift+F12

2.  某函數如下:
Function check(n,k:Integer):Integer;
Var m:Integer;
Begin
    Repeat
    m:=n mod 10;
    n:=n div 10;
    K:=k-1
    Until k=0;
    Check:=m
End;

若調用語句y:=check(3725,3),運行后y值為:()

A、 7
B、 5
C、 2
D、 0

3.  以下那個組件不可以由用戶輸入編輯文本()

A、 TEdit 
B、 TcomboBox
C、 TMaskEdit
D、 Tlabel
E、 TStringGrid 

4.  一個對象類可以繼承和直接使用它的父類的所有成員,除了:()
A、 public域
B、 private域
C、 protected域和private域
D、 protected域和方法
E、 private域和方法

5.  Delph沒有用到的文件類型有()。
A、.frm 
B、.pas         
C、.dfm     
D、.dpr     
E、.res

6.       Shape組件位於()組件板上。
A、 standard
B、 additional
C、 data controls
D、 system
E、samples

7.       Query組件沒有Table組件那樣的( )屬性。
A、 DataSource
B、 TableName
C、 Filtered
D、 Database
E、 UpdateObject

8.  下面關於屬性的論述正確的是()。
A、 屬性能實現write方法
B、 屬性能實現read方法
C、 屬性可以只讀或只寫
D、 屬性可以公開或非公開
E、屬性不能直接存取

9.  調試程序時,需要執行執行點所在的源代碼行,並停留在下一個源代碼行。可通過()菜單項進行。
A、 Run
B、 Step Over
C、 Trace Into
D、 Trace To Next Source Line
E、Run to Cursor

10. 設a是布爾變量,其它是整型變量,下面正確的賦值語句是( )
A、 x=y div 7
B、 x:=y:=z+1
C、 a:=x=y mod z
D、 x+y:=z
E、x+y=a

11. 表達式round(4.2) mod trunc(2.8)的值是( )
    A、 0
    B、 1
    C、 2
    D、 3
    E、 4

12. 下列常量定義合法的是( )
    A、 CONST width=7;
    B、 CONST case='7';
    C、 CONST 1A=7.9;
    D、 CONST century=year div 100;
    E、 CONST 5<>7;

13. 以下運算符中運算優先級最高的是( )
    A、 +
    B、 OR
    C、 >=
    D、 DIV
    E、 -


14. 已知a、b、c、d是同類型的簡單變量,而且已有互不相同的值,執行下列語句:

b:=a;   a:=c;   d:=a;   d:=b; 后,其值相等的變量是()

A、 a,c
B、 a,d
C、 c,b
D、 b,a
E、 無法確定

15.    已知有說明Var x:real;下列程序段中的錯誤為:( )
case x<=2.0 of
    0:x:=0;
    1:x:=1
End
A、 case表達式中有常數
B、 case常量和case表達式類型不一樣
C、 賦值語句兩邊類型不一致
D、 case表達式為關系表達式
E、 case語法不規范
16. 以下語句的循環執行次數是( )
x:=37; y:=3
while y<=x do y:=y+y
A、 3
B、 4
C、 5
D、 6
E、 0
17. 程序 For I:=1 to 5 do
for j:=2 to I do
    writeln('*');
    輸出的'*'個數為( )
A、 5
B、 10
C、 15
D、 25
E、 30
18. 下列函數頭合法的是( )
A、 function total(x:real);
B、 procedure ab(a,b:real):real;
C、 procedure sum;
D、 function f(var f:real):integer;
E、 procedure FontListBoxKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState;);
19. 已知函數如下:
function f(n:integer):integer;
    begin
        if n=0 then f:=0
        else if n>0 then f:=f(n-2)
            else f:=f(n+3)
   end;
則調用f(5)的值是( )
A、 0
B、 1
C、 -1
D、 -2
E、 2

20.    下列類型中合法的是( )
A、 TYPE a=10..10;
B、 TYPE b=10..5;
C、 TYPE c=0..SQRT(10);
D、 TYPE d=10.0..20.0;
E、 TYPE e=random(9)..1

21. 下列類型的變量中,不能用write語言直接輸出的變量是( )
A、 布爾型變量
B、 枚舉型變量
C、 整型變量
D、 字符型變量
E、 長整型變量

22. 假定y是集合變量,變量x的類型與y的基類型相同,則下列表達式錯誤的是( )
A、 [x] in y
B、 y-[x]
C、 [x]+[ ]*y
D、 y<=[x]
E、y mod [x]

23.    一個記錄的域標識符不能和下列內容相同的是()
A、 常量的標識符
B、 記錄名
C、 類名
D、 同層的域標識符
E、 不同層的域標識符


24. 已知 Var a:array['a'..'e',1..4,boolean] of real;
則數組a中包含的元素的個數為()
A、 5
B、 20
C、 40
D、 11
E、 22

25. 已知 Var a:array[1..10] of integer;
k,I:integer;
    程序段:
        k:=1;
        for I:=1 to 10 do
            if a[I]>a[k] then
            k:=I;
           writeln(a[k]);
    執行后輸出的是( )
A、 數組中的平均值
B、 數組中的最大值
C、 數組中的最小值
D、 數組中的總和
E、 無法確定

26.    已知Var f:file of integer;則f所代表的文件是( )
A、 ASCII碼文件
B、 二進制文件
C、 文本文件
D、 存放整數的文本文件
E、 HTML文件

27.    在VCL中( )是TDBListBox的父類
A、 TCustomListBox
B、 TListBox
C、 TDBDataset
D、 TDatabase
E、TDBEdit

28.   為讓控件顯示彈出式提示框文字,需用到控件的()屬性
A、 Handle
B、 Hint
C、 ShowHint
D、 Showing
E、Visible

29.    發生在鼠標左鍵單擊控件時的事件是()
A、 OnMouseDown
B、 OnMouseUp
C、 OnClick
D、 OnDbClick
E、OnEnter

30.    下列值中不是FormStyle屬性的可能值的是( )
A、 fsNormal
B、 fsMIDChild
C、 fsMIDForm
D、 fsStayOnTop
E、fsDeskTop

31.    ( )是Delphi包含的文件管理子例程
A、 Append和insert
B、 Append和MkDir
C、 FileClose和insert
D、 MkDir和insert
E、GetDir和insert

32.    ( )是與DDE有關的組件
A、DdeServerConv/DdeClientConv/DdeServerItem/DdeClientItem
B、DdeServer/DdeClient
C、DdeConv/DdeItem
D、DdeConv/DdeServerItem
E、DdeServer/DdeClient/DdeServerItem/DdeClientItem

33.    使用Delphi多線程的優點是( )
A、程序運行速度加快
B、不需要考慮同步訪問共享資源與內存
C、程序編寫更簡單
D、可以在后台運行線程
E、不會是Windows出錯

34.    有多種方法可以在OLE文檔接收器中放置對象,但不包括( )
A、使用特定的菜單命令嵌入對象
B、從剪貼板粘貼對象,來建立新嵌入對象
C、從剪貼板粘貼-鏈接對象,來建立新嵌入對象
D、由服務器生成的文件中建立新對象。
E、通過ODBC接口,傳遞對象
35.    用於異常處理的關鍵字不包括( )
A、try
B、except
C、finally
D、raise
E、error

36.    以下說法不正確的是( )
A、VCL組件是Delphi最有效和最有用的組件
B、COM是OLE和ActiveX的基礎
C、COM對象可用於任何Windows編程環境
D、VCL組件是COM對象
E、典型的COM對象包含在擴展名為.DLL或.OCX的文件中

37.    TcomboBox組件Style屬性缺省值為( )
A、csDropDown
B、csSimple
C、csDropDownList
D、csOwnerDrawVariable
E、csOwnerDrawFixed
38.    對象庫“New Item”的“New”標簽頁能創建的對象有( )
A、Package、DLLs、Component、Web Server Application
B、Package、COM Object、Component、Web Server Application
C、Package、DLLs、Component、About Box
D、Package、DLLs、Component、DB Web Application Wizard
E、Package、DLLs、Component、MID Application
39.    Delphi中取值范圍0到255的數據類型是()
A、ShortInt
B、Byte
C、SmallInt
D、Real
E、Word
40.    以下關於事件的說法不正確的是( )
A、不一定要響應某個組件所定義的所有事件
B、多個組件可以共享同一個事件處理程序
C、根據需要可以響應任何組件的事件
D、單擊Object Inspector中的事件處理程序名,Code Editor將自動進入該事件的代碼段。
E、事件的Sender參數是用來決定哪個組件產生了此事件

#38



轉載:=博藝工作室


二. 是非題(共20道)
1.  從主菜單上選擇Project|Syntax Check菜單選項,Delphi將編譯從上次編譯后有改動的任何單元,並報出遇到的錯誤。( )
2.  Delphi的VCL對象有些是指針,從堆棧中分配空間,有些則不是。( )
3.  粘貼時,如果作為容器的組件已被選擇,剪貼板中的組件會當作容器組件的子組件來粘貼( )
4.  在由Delphi 管理的窗體類聲明段中加進任何代碼都會引起程序出錯。( )
5.  Delphi 可以在一個報表中使用一個以上的明細區( ) 
6.  Delphi 可以象其它開發工具一樣使用傳統的資源,比如菜單可以作為資源加載,以利於實現多國語言環境。( ) 
7.  創建組件時可以定義屬性的缺省值,但字符串屬性不能有缺省值。( ) 
8.  聲明一個常量后,在程序中則不可以改變這個常量的值。( ) 
9.  構造子必須通過類的一個有效實例來激活。( )
10.    在設計階段Object Inspector顯示被選組件的所有屬性。( )
11.    在Delphi IDE中,按住Shift鍵,同時單擊Components Palette上的組件圖標,可以在窗體內放置多個同類組件。( )
12.    為減少編程中的錯誤,用戶可以使用Delphi提供的系統函數IsValidIdent檢驗字符串是否合法。( )
13.    用戶如果不在一個完整的事件響應過程添加任何代碼,當保存或編譯該項目時,該過程將被自動清除。()
14.    使用Runtime Packages技術可以將原先獨立的可執行文件分解為動態鏈接庫加上小的可執行文件,這樣作的好處是所占磁盤空間比一個

獨立的可執行文件小。( )
15.    Delphi和VB一樣不能產生真正的可執行代碼(本機代碼),但是Delphi開發的程序比VB的運行速度快。( )
16.    大多數組件的屬性可以在運行時改變,而且,有些只能在運行時刻改變。()
17.    對於用戶的Delphi工程中創建的窗體及其組件的屬性都保存在一個獨立的描述文件,即擴展名為DSK的文件中。( )
18.    Search菜單的Find Error命令是用來尋找運行時的錯誤,而不是尋找編譯錯誤。()
19.    Enabled屬性不適用於非可視組件。( )
20.    Delphi采用基於對象的引用模式,即類的每一個變量不保存對象的值,而保存一個引用或一個指針來說明對象存儲的內存位置。( )
三. 改錯題(共4道)

1.  指出下列代碼錯誤並說明原因:
Var
I:Integer;
L:Long;
    Begin
        L:=32768;
        I:=L;
    End.    

2.  指出下列代碼錯誤並說明原因:

if n>37.5 then
AmountEarned:=(n-37.5)*HourlyRate*1.5+37.5*HourlyRate;
else
AmountEarned:= n*HourlyRate;

3.  指出下列代碼錯誤並說明原因:
while (total<max) and (sum<=max) and (sum<total)
do statement1;

4.  指出下列代碼錯誤並說明原因:
procedure Tform1.TestBtnClick(Sender:Tobject);
var z,y,x:integer;
begin
    x:=100;
    y:=0;
    try
        z:=x div y;
    except
        on EdivByZero 
        do z:=-1;
    MessageDlg('Z'+IntToStr(z),mtInformation,[mbOK],0);
End;

四. 問答題(共3道)
1.  在Delphi中,對話框與子窗口有什么不同?
2.  使用私有域和方法的目的是什么?
3.  讓ActiveX在網頁上工作時,總是從Inernet Explorer得到一個錯誤。錯誤為:“Your current settings prohibit ActiveX controls”

。這是什么錯誤?

五. 編程題(共2道)
1.  計算並輸出300至500以內所有素數(即質數)中最大的前10個數之和k與300至500以內所有素數的個數j,並將結果輸出到文件mydata.dat中

.
2.  在Tform1.FormActive事件中編寫代碼,要求包括一個循環,在屏幕上隨機的位置上用不同的顏色連續畫線。
六. 設計題(共1道)
設計一個實用的Windows字體選擇列表窗口。要求:
1)  用戶可以在列表框中(TListBox)選擇字體
2)  用戶可以在微調框中(TSpinEdit)調整字體大小
3)  字體與大小以所見即所得的方式顯示出來

#39


我明天面試:(
但電腦不在怎么做

#40


有沒有人願意把答案給出來啊

#41


為什么選擇delphi?

#42


```````````````````````

#43


答案呢?

#44


唉,實在慚愧這些東西好象天天見,可是在紙上出現時確那么的陌生。這可能就是眼高手低吧。

#45


面試應是出設計類問題比較好,不用涉及具體的代碼,一聊就能知道.

出有標准答案的問題可能考管也不會,只能在書上找些問題來問.

要不就是受了應試教育的影響.

在VCL中( )是TDBListBox的父類

象這種也要記嗎?放一個TDBListBox控件檢查一下源代碼不就可以了,純屬學上成痴呆狀了.

33.    使用Delphi多線程的優點是( )
這個題本身也有問題吧!!!!!!!

博藝工作室 的老板肯定是學校里的老師,還可能是初高中老師,做題做題,公司不是大學是社會.

#46


頂一下

#47


marked

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com