• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    C#程序員面試(一)答案

    發布: 2007-6-30 23:38 | 作者: admin | 來源: | 查看: 39次 | 進入軟件測試論壇討論

    領測軟件測試網 前提:狀態欄面板sbpFilePath已經設定為自繪樣式.當有如下代碼段1被執行一次以后:

    代碼段1:
    private void treeviewArchives_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
    if (e.Node.Text!= "" )
    {
    try
    {this.richtexebox.LoadFile(Application.StartupPath+e.Node.Text);
    statusMessages=e.Node.Text;
    sbpFilePath.Text=statusMessages;//statusMessages表示字符串
    }
    catch
    {MessageBox.Show("加載文件出錯,無法顯示!");
    }
    }
    }

    代碼段2:
    private void statusBar1_DrawItem(object sender, System.Windows.Forms.StatusBarDrawItemEventArgs sbdevent)
    {// 繪制面板區域
    sbdevent.Graphics.FillRectangle(Brushes.Green, sbdevent.Bounds);
    //繪制面板上的文本
    sbdevent.Graphics.DrawString(statusMessages,sbdevent.Font,Brushes.White,sbdevent.Bounds);
    sbdevent.Graphics.Dispose();
    }

    考試題:

    1、代碼段2會不會被執行?
    答案:會。

    2、代碼段2如果不會被執行,為什么?該如何修改?
    答案:過。繼續下一問題。

    3、代碼段2如果會得到執行,會不會被重復執行(即連續執行兩次或更多次)?
    答案:會。

    4、代碼段2如果被重復執行,該如何修改使之只運行一次就足夠?
    答案:代碼段1可以修改為:
    private void treeviewArchives_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
    if (e.Node.Text!= "" )
    {
    try
    {
    this.richtexebox.LoadFile(Application.StartupPath+e.Node.Text);
    statusMessages=e.Node.Text;
    //將以下這一句注釋掉,同時加上強制繪制的方法
    //sbpFilePath.Text=statusMessages;//statusMessages表示字符串
    statusBar1.Invalidate();
    }
    catch
    { MessageBox.Show("加載文件出錯,無法顯示!");
    }
    }
    }

    5、代碼段2中 sbdevent.Graphics.Dispose();//這個語句是否可有可無,為什么?
    答案:為盡可能釋放資源,只要編譯與運行過程中不出錯,應當加上。
    (如現場有爭議,留下名單,讓他回去測試,第二天帶測試報告再來)


    6、假設運行以下語句
    {sbpFilePath.Text=statusMessages;sbpFilePath.Text=statusMessages;}
    問題同上述1-3項,請再次回答。
    答案:如果不修改代碼段1,此語句段在第一次運行
    sbpFilePath.Text=statusMessages;
    時,代碼段2就被運行兩次,此后,只要給sbpFilePath.Text的值不變,
    即statusMessages的值不變,則代碼段2不會繼續運行。
    即:
    {sbpFilePath.Text=statusMessages;sbpFilePath.Text=statusMessages;}
    等效于
    sbpFilePath.Text=statusMessages;

    7、您認為代碼段1或者代碼段2有沒有錯誤?(如果您認為回答對了上面的問題,此問題可不必做答)
    答案:語法沒有錯,但可以修改代碼,減少重繪,節省資源。

    8、有人認為C#開發出來的程序太慢,你怎么看待這個問題?你在編碼過程中優先考慮以人為本、用戶為上的思想嗎?
    請簡述。
    答案:一部分是實情,另外一部分在于很多人完全依賴自動垃圾回收,而沒有考慮弱引用、Dispose()、Close()、
    GC、等等,甚至有很多人忌諱try-catch-finally,導致夸大問題,C#開發的實質問題在于目前的跨平臺方面。
    公司研發部認為:如果JAVA開發人員認為C#開發出來的程序太慢,肯定不是一個合格的JAVA程序員,他寫的代碼肯定
    性能低,耗費資源。如果經2次提醒后,他還堅持此觀點,肯定是一個浮躁的人,忌用。
    招聘過程中注意:不要試圖引導應聘者比較語言的差異,不得發表帶偏見性的語言觀點,注意應聘者的情緒。

    9、普遍認為以下幾本書都是經典,如果你看過,請從里面挑任意一本書,指出該書中5處以上嚴重影響程序速度的代碼段
    或錯誤代碼。(希望通過此題強調我公司的原則:程序員水平如何,是看他寫的代碼以及代碼性能,不是看他學了多少,
    也不看他的工齡)
    答案:
    資料上沒有提供。

    我信守承諾,暫時沒有在其它網站公布更多題目。
    而且絕對沒有公布除此文以外的任何技術問題與答案。
    一旦第3輪招聘結果公布,我將第一時間全部傳到網上,
    大家留意。

    很多人都可以指教我,我會很珍惜有人指教的機會......

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>