两道考察面试人员的笔试题

对于约来面试的人员我一般情况都以相互聊天为主,通过聊天交流使得双方有一个初步的了解,同时大都也能通过交流了解到对方的对于开发的一些看法及自己是否有兴趣或者有志于在此行业内工作,也能了解到从业的经历及项目经验,乃至于期望。但有时我也会突然随机的在纸上写一些基础的代码来检查一下来参加面试的人员基础知识,今天首先出了一题,初始写下的代码如下:

using System;
public class SimpleBase
{
  int i = 0;
  bool b = true;
  if(b & (i++ > 0))
  {
    Console.WriteLine("i = {0}", i);
  }
}

问题:1.这段程序能正常编译吗?

2.如能正常编译,编译后生成的SimpleBase.exe执行后的结果是什么?

3.如果能够正常编译,将if语句中的(i++>0)更改为(i++ == 0)后执行结果又是什么?

4.如果能够正常编译,将if语句中的&更改为&&后执行结果又是什么?

5.为什么?

这个题应该算是比较简单的吧,很遗憾的是未能取得我想要的结果,话说Java更熟悉一些,于是有了第二道题,相对我还算是比较耐心的吧!

public class SimpleBase {
  public static void main(String[] args) {
    byte b = 0;
    int i = 0;
    long l = 0;
    float f = 0.2;
  }
}

问题:这段程序能正常编译吗?如果不能请说出其错误的地方。

到这里整个面试过程也就结束了!写下这篇日志,予以记录,也是给自己提个醒,其实随着在这行工作的时间增长,感觉基础确实是有必要掌握的。

另外再说几句,假如是参加研发工程师/软件工程师/程序员诸如此类的身临代码第一线的人,感觉实在是需要对这些基础予以掌握,毕竟这些是每一门语言学习中基本都会经历到的,在IT行业其实还有很多其他的岗位则相对于这些可以忽视,例如需求工程师、系统分析师、产品经理、项目经理等。依据自身的职位申请,请做相应的准备。