JavaWeb面试那些事 博客分类: java面试 java面试javajavawebhibernate
先笔试,笔试很多都是基础,面试前可查下看准网啊,百度文库有没该公司相关的笔试题.
再面试,面试的话就是先自我介绍,包括介绍你之前的公司和做过的项目,再细问你那些项目用了什么技术,都有什么模块,你做了什么模块,用什么技术做的,在做这些模块的时候遇过哪些难的或深刻印象的地方,你又是如何解决的。
问完项目会拿个面试题本给你看,指到哪题你就现场回答哪题,题本很杂,可能会有关于JSP的题(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个错误
//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[])
(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)); }
2.判断两个数字哪个更大?(不能用if-else和><等判断符,也不能用JDK的方法)
public int max(int a,int b){ int[] i = new int[]{a,b}; int z = a-b; z = z>>31;//相减得的符号位移至末尾,作为数组下标 return i[-z]; }
3.给你一个浮点数,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整.
public double round(double n){ String s = Double.toString(n); String num = s.substring(s.indexOf(".")+1,s.indexOf(".")+2); int i = Integer.parseInt(num); if(i>=5){ return Math.ceil(n); }else{ return Math.floor(n); } }
上一篇: Java单例模式简单介绍
下一篇: MySQL中出现乱码问题的终极解决宝典
推荐阅读
-
JavaWeb面试那些事 博客分类: java面试 java面试javajavawebhibernate
-
Tiger in the house 博客分类: Java JavaJ2SESUNJVM面试
-
java 对象内存模型 博客分类: java面试 java对象内存模型
-
澄清:Java中只有按值传递,没有按引用传递! 博客分类: 编程技术 JavaC#CC++面试
-
澄清:Java中只有按值传递,没有按引用传递! 博客分类: 编程技术 JavaC#CC++面试
-
Java面试转载 博客分类: Java面试
-
面试中遇到到的简答题-1 博客分类: 面试 java面试题
-
面试中遇到选择题-1 博客分类: 面试 java面试题
-
Java面试题-基础篇一 博客分类: 面试题系列 面试javajava面试宝典Java面试题
-
2018年JAVA基础面试题和高级面试题总结 博客分类: 2018年JAVA基础面试题和高级面试题总结 java面试题