黑马程序员技术交流社区

标题: 面试前的基础知识的准备 [打印本页]

作者: xinzhang    时间: 2016-4-11 10:34
标题: 面试前的基础知识的准备
基础知识的准备我始终坚信一个原则,那就是普遍撒网,没有终点培养,因为你要把每一个知识点都要弄清楚,因为你毕竟不是在应付这个考试,你是想靠着这个学好就业班的知识让自己拥有一种技能,并且可以用这个技能在这个社会上吃饭养家的,当然这只是一个方面,因为在这个社会生存只具备这个技能是不够的,但是话又说回来,既然你选择想要用这个技能的话,那么就无条件的去学好它。
对于Java基础的学习我总结这样几块:
  1 基础语法,这是学习每一门语言的入门,只有理解这个你才能继续的往下学习,这里没有什么可说的,一定要理解,要不后边的代码你都不会写。
  2 面向对象,这里需要掌握面向对象与面向过程的区别,以及面相对象的三大特性,以及能举出面相对象的例子,老师曾经说过,万物皆对象,一切皆对象。我想这个需要以后在开发中才能真正的体会到吧,现在只是有一个大概的了解,还不是那么的透彻。
  3 API的掌握,一定要会查看API,这样在以后的开发中才能自己解决问题,在这里要熟悉的掌握常用类,比如说String类,集合以及IO,还有多线程。
  String类中要知道这个类中的常用方法(可以不用查看API就能想起来),并且会使用这些方法应用到实际的应用中(比如判断方法,获取方法,比较方法等)。
  集合要掌握以及要相当的熟悉的就是整个的集合框架,并且能详细的说出集合框架中的内容,比如说List集合和Set集合的区别以及特点以及其具体的实现类的特点,Set集合的具体实现类是如何保证元素唯一以及排序的,这里要写出你之前遇到的关于集合的综合题(比如如何删除集合中的重复元素以及删除集合中的所有“abc”元素等问题),当然用集合存储元素(比如字符串以及自定义对象)并且取出元素也是必须掌握的。之后就是Map集合与Collection集合的区别,以及Map集合的特点以及Map集合获取元素的方法,在这里有这样的一道题需要掌握,那就是统计元素在集合中出现的次数。最后还有一个对集合的综合题这里会用到ArrayList集合 TreeSet集合以及TreeMap集合,这个例子就是三个人玩斗地主,并且保证拿到的牌是按照顺序排序的,如果有需要的话我可以把代码给你,并且为你分析一下,这是很综合的一道题,这也是对集合理解很全面的一道题。
  IO这里需要掌握的就是从字节流到字符流的发展过程,以及中间出现了哪些流,最主要的就是应用,这里的复制文件一共有8种方法,但是建议用字符流操作,所以就有4种(掌握的),复制视频以及Mp3要用字节流,也是4种。这里一定要多多的练习,还要会复制单机文件夹中的内容并对其进行操作(比如把以“.java”结尾的名字修改为“.txt”结尾),还有就是复制多级文件夹,这里会使用到递归以及File类的知识,当然肯定会有IO流复制文件的知识。
  多线程需要掌握的就是如何实现多线程以及线程的安全的问题,以及如何解决安全问题的(同步的三种方式),多线程的五种状态以及sleep和wait的区别,可以举出多线程的例子,以及能写出死锁的程序和单利设计模式关于线程安全的懒汉式代码,你只有理解了死锁才会去避免死锁。
  还有就是反射这部分,说的简单一点其实反射就是不直接创建对象,使用方法,而是先获得字节码文件对象之后通过字节码文件对象获得构造器对象 成员变量对象以及成员方法对象,之后再去使用他们。反射这里还有一个就是暴力反射问题,这就是使用这个类中的私有属性。
  最后说一句以上的代码不仅仅是只会敲出来,而是在理解的基础上再去写出来,我建议背着在纸上写出来。
面试中:      
  我觉得这个面试并不只是考核java的基础知识,还会有你的学习态度,语言组织能力以及思维逻辑性方面的能力,所以我建议有机会一定要多在人多的场合去锻炼语言表达能力,很简单的例子,你自己什么都知道,但是你不说出来谁会知道呢?面试中一定要有一个好的心态,把面试当作是在聊天一样,不要那么死板的只会在那里说,最好和老师有沟通,把所知道的知识以及这个知识点所涉及到的知识全都说出来,最主要的就是多举例,这样才能证明你对这个东西理解的很透彻。
  面试经验就说到这里啦,如果有什么问题的话,我可以尽我所能的为你解答。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2