java第四次面试总结
该公司没有笔试,直接就进行了面试,然后我就拿着我的简历瑟瑟发抖。。。。。。
1.因为是看简历来面试,所以面试官从我的项目下手,而我的项目都是后端的东西,虽然学过一些前端,但是项目里并没有用到任何java web,所以也告诉我最起码要做一个完整的java web项目。
2.一般来说,如果自己不是很确定或者不是很熟悉的知识点尽量不要提!!!因为面试官会跟着你说的东西去问你(对,你提到什么他就问你什么,毕竟你简历上的东西也比较有限呀)
3.面试官问我做项目的时候数据都存放在什么服务器?我一脸懵逼,因为我做的东西都是后端,数据就直接放在数据库中,丝毫没有服务器的概念,然后我又脑子抽风说了一句:IDEA。。。?然后两个面试官都笑了,还认真地跟我解释IDEA是开发环境。(我真的知道IDEA是开发环境,我下次一定不乱说呜呜呜,后来在网上才了解服务器有tomcat、jboss等等)
4.继承类地时候一定要实现抽象方法吗?这个问题我回答出来了,只不过当时不太确定。
答:在java中,抽象类不一定有抽象方法,但是有抽象方法的类一定是抽象类,继承一个抽象类的时候,如果这个子类是具体类,就要实现父类的抽象方法,如果这个子类也是抽象类,则可以保留抽象方法,不去实现。
5.泛型用在什么地方?
答:类型的参数化,就是可以把类型像方法的参数那样传递。我们知道,用数组时也必须指定数据类型,例如:Animal animal[]; java中经常会用到 list、map 等集合类容器,容器可以对容器内的元素进行多种操作,但是我们在使用容器的时候必须要知道数据类型才能return或者set;而且,因为不知道容器内装的数据类型是什么,所以我们默认容器内的元素是Object类型,这样容器就可以装所有类型的元素,但是这样做的坏处就是需要程序员手动转换数据类型,而且很可能会编译不出错,但运行出现ClassCastException,所以我们引入了泛型。puhlic class ListContainer<T>{},这个T我们可以随意指定,只需要在程序员使用到listContainer时再去指定,ListContainer<Dog> myCon=new ListContainer<Dog>();这种情况下,编译器就知道ListConainer容器是存放dog类型对象的,并进行类型安全检查。
6.如果方法的参数不确定有几个,应该怎么办?
答:不定长参数问题。
pubic class VariArgs{ public static void main (String[] args){ test(); test("aaa"); test("aaa","bbb"); test("aaa","bbb","ccc"); } public static void test(String... args){ System.out.println(args.getClass()); for(String arg:args){ System.out.println(arg); } }