面试题目随记

最近都不写代码了,学习的重心放在了面试上面去了。这是我第二次去面试,第一次完全是抱着一试的心态去的,这是是有点准备的!毕竟去了图书馆借了本《java程序员面试宝典》翻阅一遍,虽然只看了第一部分如何写简历,和java的几个基础知识点,但是还是有作用的,在这里我又要推荐那些大三或者想去实习,同时没有工作经验的同鞋一定要阅读本书了,这本书确实值得一读的,而且涉及的技术问题不是那么的深奥,完全可以当作对java的复习嘛!
现在就来理一理今天的面试题目。首先说先这家公司:这是一家总部在成都的公司,在贵阳市有个开发部门而已,租的是居民楼,这个开发团队总共就五六人的样子,人好少,如果面试上了,我也未必就在里面工作!总感觉没有青春,没有同龄人,反正与学校的反差好大,一时心里放不开!环境之类的与学校落差太大!
其次就是这家公司要的人是一上手就可以做项目的,并没有培养的计划,看来深深的体会了那句话:大公司才有人才培训,大公司看中的是基础,而小公司是看中做项目能力!
面试官说了:他们的项目很敢,刚从政府接到一个网站项目,五天左右开始,7月底要赶着交项目。不到一个月就交一个项目,看来我们这种未上手的确实不适合啊!
下面我就尽量回忆一下一些好玩儿的题目来着的。并不是这些题目是难题,而是无个人认为比较好玩儿而已!

智力题目:

   1.看这串数的规律,在横线处填入适当的额数字:3968, 63, 8,3,__

   分析:这个数列的前一个数的大小是后一个数的平方-1,例如:3968=63^2-1,那么填入空格的应该是:2

   2.是一个填图题目,这题我当时没有花费时间来思考。也记不住他的题目,所以省略掉,最后一道是逻辑题目。

选择题目

  1. 在java中,0.3424的数据类型:这道题答案应该是double型,因为在java中,浮点数默认的是dobule型,float型的应该这样表示:0.3424f.
  2. 下列程序的输出结果是多少?
/*由于该题记得不太清楚了,不过《java程序员面试宝典》里面有类似题目*/
public class Inc{
  public static void main(String[] args) {
    Inc inc = new Inc();
    inc.fermin(i);
    i = i++;
    System.out.println(i);
  }

  void fermin(int i) {
      i++;
  }
}

仔细分析,答案是:0

  1. 这是一道英文题目:大概说的是:在java中,main方法返回的数据类型是什么?答案:void

  2. 考点是分支结构的case问题,大概意思是这样的:

    public class Main {
     public static void main(String[] args) {
    int result = 0;
    int i = 2;
    switch(i) {
    case 1:
        result = i * 2;
    case 2:
        result = i * 2;
    case 3:
        result = result + i * result;
    case 4:
        result = result + i * result;
    }
    System.out.println(result);
    }
    }

    问此题的输出结果是多少?这次的陷阱是在switch中没有break,那么每个case都不会跳出,一个开关通过,就会走到底!

    其他问题

    对异常的处理问题,比如catch,finnally问题。

    编程

    这些题目都是在纸上写题目,不是上机编程。

  3. 计算1+3+5+…+99的共和

public class Main {
  public static void main(String[] args) {
    int i = 0;
    int sum = 0;
    for(i = 1; i < 100; i += 2) {
      sum += i;
    }
    System.out.println(sum);
  }
}
  1. 有一个无序的整形数组,请对它进行排序。
/************冒泡算法*****************/
public static void popSort(int[] a) {
  for(int i = 0; i < a.length; i++) {
    for(int j = a.length; j > i; j--) {
      if(a[j] < a[i]) {
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
      }
    }
  }
}
  1. 请解释下同步和异步的问题,什么时候用到同步,什么时候考虑异步?

    线程同步:如果一个共享资源被多个线程同时访问,可能会遭到破坏。那么解决的办法就是线程的同步,如果一个类的对象在多线程程序中没有导致竞争状态,则称为这样的类是线程安全的。为了避免竞争状态,应该防止多个线程同时进入程序的某一个特定部分,程序的这部分称为临界区。可以使用关键字synchromized来同步方法。
  2. java中有多少种实现多线程的方法?
    我达出了两种,但是我看到同学的答案,他说有三种。
  第一种方式是:继承Thread类,另一种是实现Runnable接口。而我们经常使用的是显示Runnable接口,因为在java中,采用的是单继承的方式。但是可以实现多个接口。一般如果这个类还需要继承其他类或者接口之类的,我们已经继承了Thread就不能继承其他父类了。所以,采用实现接口比较好!
  1. 有一张表,请从中找出姓张的分数大于75的同鞋
  2. 写一个网页,可以输入数字和密码,如果帐号和密码为空,提示用户。
  3. 一道软件工程的问题。题目已经不太记得清楚。
  4. 你认为怎么样的团队才能算是一个好的团队?
    (先写到这,等明天cet4回来之后再做补充)

你可能感兴趣的:(程序员,面试,技术)