C#程序员面试(一)答案

原创 2004年09月20日 23:21:00
 

前提:状态栏面板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轮招聘结果公布,我将第一时间全部传到网上,
大家留意。

很多人都可以指教我,我会很珍惜有人指教的机会......

Net(C#)高级程序员面试题

.net高级程序员面试题
  • vaecnfeilong
  • vaecnfeilong
  • 2017年06月11日 16:43
  • 2502

75道程序员面试逻辑测试题内含答案

【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。  由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面...
  • dy_Learning
  • dy_Learning
  • 2016年07月29日 13:26
  • 3927

C#程序员面试(一)答案

 前提:状态栏面板sbpFilePath已经设定为自绘样式.当有如下代码段1被执行一次以后:代码段1:private void treeviewArchives_AfterSelect(object ...
  • vipxiaotian
  • vipxiaotian
  • 2007年07月14日 04:09
  • 535

C#程序员面试 答案

前提:状态栏面板sbpFilePath已经设定为自绘样式.当有如下代码段1被执行一次以后:代码段1:private void treeviewArchives_AfterSelect(object s...
  • cyp403
  • cyp403
  • 2004年09月27日 16:22
  • 1018

程序员面试金典算法题

空格替换题目描述请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给...
  • sinat_14856243
  • sinat_14856243
  • 2015年12月06日 16:13
  • 3549

程序员面试金典第五章 行为面试题

程序员面试金典第五章 行为面试题5.1准备工作行为面试题的考察有各种各样的原因。人们可以通过这些问题来了解你的个性,或者是更深入地掌握你的履历,又或者缓和一下面试的紧张气氛。不管怎样,这个部分很重要,...
  • u010885899
  • u010885899
  • 2015年12月04日 17:22
  • 351

《Cracking the Coding Interview程序员面试金典》----最长合成字符串

时间限制:3秒 空间限制:32768K 热度指数:352 本题知识点: 递归 字符串  算法知识视频讲解 题目描述 有一组单词,请编写一个程序,在数组中找出由数组中字符串组成的最长...
  • u011292087
  • u011292087
  • 2017年05月03日 15:43
  • 294

【2017面试题】.NET程序员(一)

//1.递归算法求30位数字         public static int MyFoun_04(int n)         {             //一组数值排序如下1、1、2、3、5、...
  • MR_XuZhe
  • MR_XuZhe
  • 2017年11月22日 17:16
  • 993

java程序员面试常见面试题及答案整理

JAVA相关基础知识   1、面向对象的特征有哪些方面    1.抽象:   抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只...
  • ourpush
  • ourpush
  • 2016年12月17日 13:20
  • 2575

程序员笔试面试题总结(不定时更新)

面试:Java开发岗 自己面试了三个多月时间,把经常问到的自己不会或叫不准的问题记录了下来,希望对读者有帮助。问题有点多,也可能有重复的问题,越重复表明面试官越爱问,而且自己卡那的次数相对比较多。面试...
  • tanga842428
  • tanga842428
  • 2016年10月15日 09:44
  • 4080
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#程序员面试(一)答案
举报原因:
原因补充:

(最多只允许输入30个字)