JavaWeb面试那些事

面试过一个公司,它那的面试流程比较通用,那里基本流程是:

先笔试,笔试很多都式基础,面试前可查下看准网啊,百度文库有没该公司相关的笔试题.

再面试,面试的话就是先自我介绍,包括介绍你之前的公司和做过的项目,再细问你那些项目用了什么技术,都有什么模块,你做了什么模块,用什么技术做的,在做这些模块的时候遇过哪些难的或深刻印象的地方,你又是如何解决的。

问完项目会拿个面试题本给你看,指到哪题你就现场回答哪题,题本很杂,可能会有关于JSP的题(JSP的四大大域和九大内置对象,JSP自定义标签),有关于算法的(阶乘,斐波那契数列,排序),有CSS、Jquery(选择器,一些函数的功能)、JS(一些函数的功能,局部变量和全局变量),SQL(怎么获取某字段重复的值),或有关于Oracle那些函数的题(NVL和NVL2什么作用),也有框架的的题(如Spring IOC工初始化流程,SpringMVC和Struts2的区别)。

 

 

理论题:

1.Hibernate的6个核心接口是什么?

Configuration接口、SessionFactory接口、Session接口、Transation接口、Query接口、Criteria接口

详细部分:http://blog.csdn.net/howmuchily/article/details/42610003

 

2.找出下面代码4个错误

扫描二维码关注公众号,回复: 505640 查看本文章

 

//file:foo.java
import java.io.*;
public class Foo{
  private int i;
  
  public Foo(int i){
    this.i=i;
  }
}
//file:bar.java
import java.io.*;

public class Bar extends Foo{
  private int j;
  
  public Bar(){}

  public Bar(int i,int j){
    super(i);
    this.j=j;
}

public double getI(){
   return i+2.0;
}

public int value(){
   return j;
}

  

 

public static void main(String arg[]){
   Foo f=new Foo(3);
   Foo f1=new Bar(5,6);
   System.out.println(f1.value());
   }
}

 

(1)文件foo.java应该和类名Foo一致

(2)父类没有Foo(){} 无参构造器,子类不能有无参构造器

(3)子类中r的eturn i+2.0;  ,i为父类private类型,不能直接调用

(4) System.out.println(f1.value()); 中的Foo f1没有value方法.

 

3.localhost:8080/demo/test.jsp?bean.id=5

用EL表达式取出这段URL中bean.id的值.

我直接就答了${bean.id},但实际上取不到,查了下,发现用${param['bean.id']}能取到。 

 

编程题:

1. 给定一个字符串,字符串长度为N,字符串的字符向前移动K位

如: 输入“abcdefgh”  n=8 k=4

       输出 "efghabcd"

要求:时间复杂度O(n) 空间复杂度o(1) 不能用JDK方法

 

思路:

由字符串N-K位置分割成两边,把两边的字符串各自倒转,后把两边字符串加一起倒转.

abcd | efgh → dcba | hgfe → efgh abcd

 

 

// 字符串倒转
	public void reverse(int s, int e, char[] c) {
                // check NULL
		if (c == null || c.length <= 1) {
			return;
		}
		char temp;
		for (; s < e; s++, e--) {
			temp = c[s];
			c[s] = c[e];
			c[e] = temp;
		}
		 
	}

	/**
	 * 輸入 abcdefgh n=8 k=4 輸出 efghabcd
	 * 
	 * @Space o(1)
	 * @Time o(n)
	 * @author hhm
	 * @date 2017年3月6日 下午12:23:45
	 */
	public char[] reverseString(int n, String s, int k) {
		// check NULL
		if (s == null || s.equals("")) {
			return null;
		}

		//若K大于N
		if (k > n) {
			k = k % n;
		}

		char[] c = s.toCharArray();
		swap(0, n - k - 1, c);
		swap(n - k, n - 1, c);
		swap(0, n - 1, c);
		return c;
	}

        @Test
	public void test() {
		System.out.println(reverseString(8, "abcdefgh", 4));
	}

 

面试过一个公司,它那的面试流程比较通用,那里基本流程是:

先笔试,笔试很多都式基础,面试前可查下看准网啊,百度文库有没该公司相关的笔试题.

再面试,面试的话就是先自我介绍,包括介绍你之前的公司和做过的项目,再细问你那些项目用了什么技术,都有什么模块,你做了什么模块,用什么技术做的,在做这些模块的时候遇过哪些难的或深刻印象的地方,你又是如何解决的。

问完项目会拿个面试题本给你看,指到哪题你就现场回答哪题,题本很杂,可能会有关于JSP的题(JSP的四大大域和九大内置对象,JSP自定义标签),有关于算法的(阶乘,斐波那契数列,排序),有CSS、Jquery(选择器,一些函数的功能)、JS(一些函数的功能,局部变量和全局变量),SQL(怎么获取某字段重复的值),或有关于Oracle那些函数的题(NVL和NVL2什么作用),也有框架的的题(如Spring IOC工初始化流程,SpringMVC和Struts2的区别)。

 

3.localhost:8080/demo/test.jsp?bean.id=5

用EL表达式取出这段URL中bean.id的值.

猜你喜欢

转载自201601175907.iteye.com/blog/2360479