精华内容
下载资源
问答
  • 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 初级Java开发工程师的职责精选模板 初级Java开发工程师的职责精选模板 初级Java开发工程师需要负责根据需求对...
  • PAGE PAGE 1 初级Java开发工程师的工作职责 初级Java开发工程师需要掌握分析设计工具按照规范的要求编写设计文档下面是小编为您精心整理的初级Java开发工程师的工作职责 初级Java开发工程师的工作职责1 职责 1....
  • PAGE PAGE 1 初级Java开发工程师的职责精选模板 初级Java开发工程师需要负责根据需求对具体模块进行设计,编写设计文档及相关文档以下是小编整理的初级Java开发工程师的职责精选模板 初级Java开发工程师的职责精选...
  • 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 初级Java开发工程师的职责精选模板_岗位职责 初级Java开发工程师的职责精选模板 初级Java开发工程师需要负责...
  • 初级Java开发工程师的职责精选模板 初级Java开发工程师需要负责根据需求对具体模块进行设计,编写设计文档及相关文档。以下是小编整理的初级Java开发工程师的职责精选模板。 初级Java开发工程师的职责精选模板1 ...
  • PAGE PAGE 1 初级Java开发工程师的岗位职责表述 初级Java开发工程师需要承担项目组重要开发或设计工作并能够按要求高质量地完成开发或设计任务下面是小编为您精心整理的初级Java开发工程师的岗位职责表述 初级Java...
  • 初级Java开发工程师面试题1 Java 基础测试 1.== 和 equals 的区别是什么? 答**

    初级Java开发工程师面试题1

    Java 基础测试

    1.== 和 equals 的区别是什么?

    答**?* ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值。

    (比较地址值即是指是否为同一个对象的引用)

    equals()是一个方法,只能比较引用数据类型。重写前比较的是地址值,重写后比一般是比较对象的属性。

    2.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

    答**?* 如果是同一个类的不同对象,当两者拥有相同hashcode的时候,则一定相等,或者equals成立的时候则hashcode一定为真,这也就是所谓的相等的对象具有行为一致性。

    3.final 在 Java 中有什么作用?

    答:a) final可以修饰类,这样的类不能被继承。

    b) final可以修饰方法,这样的方法不能被重写。

    c) final可以修饰变量,这样的变量的值不能被修改,是常量。

    4.String str="aaa"与 String str=new String(“aaa”)一样吗?

    答:不一样; "aaa " 是一个字符串常量,它应该放在静态存储区,和 static, final变量放在一块而new String( "aaa ") 创建了一个和字符串 "aaa "内容一样的字符串,不过这个字符创放在堆上的。String str=new String( "aaa "); 在这条语句中产生了两个字符串,第一个字符串是字符串常量"aaa ",第二个字符串是new String语句产生的字符串,它的内容和 "aaa "一样。

    5.接口和抽象类有什么区别?

    答**?* 1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

    2、抽象类要被子类继承,接口要被类实现。

    3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现

    4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

    5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

    6、抽象方法只能申明,不能实现,接口是设计的结果 ,抽象类是重构的结果

    7、抽象类里可以没有抽象方法

    8、如果一个类里有抽象方法,那么这个类只能是抽象类

    9、抽象方法要被实现,所以不能是静态的,也不能是私有的。

    10、接口可继承接口,并可多继承接口,但类只能单根继承。

    6.Java 中 IO 流分为几种?

    答: 按流向分(站在程序角度考虑)

    输入流(input)

    输出流(output)

    按类型分:

    字节流(InputStream/OutputStream)

    任何文件都可以通过字节流进行传输。

    字符流(Reader/Writer)

    非纯文本文件,不能用字符流,会导致文件格式破坏,不能正常执行。

    节点流(低级流:直接跟输入输出源对接)

    FileInputStream/FileOutputStream/FileReader/FileWriter/PrintStream/PrintWriter.

    处理流(高级流:建立在低级流的基础上)

    转换流:InputStreamReader/OutputStreamWriter,字节流转字符流/字符流转字节流

    缓冲流:BufferedInputStream/BufferedOutputStream BufferedReader/BufferedReader可对节点流经行包装,使读写更快

    7.Collection 和 Collections 有什么区别?

    答: Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。

    Collection
    ├List
    │├LinkedList
    │├ArrayList
    │└Vector
    │ └Stack
    └Set

    2、Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。

    8.List、Set、Map 之间的区别是什么?

    答**?* Java中的集合包括三大类,它们是Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。
      Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator接口来自定义排序方式。
      List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。
      Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。

    9.HashMap 和 Hashtable 有什么区别?

    答**?* HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。

    HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。

    另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。

    由于Hashtable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢。如果你不需要同步,只需要单一线程,那么使用HashMap性能要好过Hashtable。

    HashMap不能保证随着时间的推移Map中的元素次序是不变的

    10.说一下 HashMap 的实现原理?

    答**?* HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存在链表的下一个节点中。 HashMap在每个链表节点中储存键值对对象。

    当两个不同的键对象的hashcode相同时会发生什么? 它们会储存在同一个bucket位置的链表中。键对象的equals()方法用来找到键值对。

    因为HashMap的好处非常多,我曾经在电子商务的应用中使用HashMap作为缓存。因为金融领域非常多的运用Java,也出于性能的考虑,我们会经常用到HashMap和ConcurrentHashMap。

    11.ArrayList 和 LinkedList 的区别是什么?

    答**?* 1. ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。
    \2. 对于随机访问,ArrayList优于LinkedList

    ​ \3. 对于插入和删除操作,LinkedList优于ArrayList

    4. LinkedList比ArrayList更占内存,因为LinkedList的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。

    12.线程和进程的区别?

    答: 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程

    地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。

    资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。

    13.创建线程有哪几种方式?

    答: 一、继承Thread类创建线程类

    二、通过Runnable接口创建线程类

    三、通过Callable和Future创建线程

    14.线程有哪些状态?

    答: 线程状态有 5 种,新建,就绪,运行,阻塞,死亡

    15.线程的 run()和 start()有什么区别?

    答: run()相当于线程的任务处理逻辑的入口方法,它由Java虚拟机在运行相应线程时直接调用,而不是由应用代码进行调用。

    而start()的作用是启动相应的线程。启动一个线程实际是请求Java虚拟机运行相应的线程,而这个线程何时能够运行是由线程调度器决定的。start()调用结束并不表示相应线程已经开始运行,这个线程可能稍后运行,也可能永远也不会运行。

    16.线程池都有哪些状态?

    答: 线程池的5种状态:Running、ShutDown、Stop、Tidying、Terminated。

    17.在 Java 程序中怎么保证多线程的运行安全?

    答: 1.原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);

    2.可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile);

    3.有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,

    18.什么是死锁?

    答: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程

    19.怎么防止死锁?

    答: 设置加锁顺序;设置加锁时限;死锁检测

    20.什么是 Java 序列化?什么情况下需要序列化?

    答: 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题什么时候使用序列化:
      一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。
      二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。

    21.动态代理是什么?有哪些应用?

    答: 动态代理:当想要给实现了某个接口的类中的方法,加一些额外的处理。比如说加日志,加事务等。可以给这个类创建一个代理,故名思议就是创建一个新的类,这个类不仅包含原来类方法的功能,而且还在原来的基础上添加了额外处理的新类。这个代理类并不是定义好的,是动态生成的。具有解耦意义,灵活,扩展性强。

    动态代理的应用:Spring的AOP,加事务,加权限,加日志

    22.JSP 和 Servlet 有什么区别?

    答: 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
    2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
    3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
    Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

    23.Session 和 Cookie 有什么区别?

    答**?* Cookie是把用户的数据写给用户的浏览器。

    Session技术把用户的数据写到用户独占的session中。

    Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。

    24.Spring MVC 和 Struts 的区别是什么?

    答**?* 一、拦截机制的不同

    Struts2是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。

    SpringMVC是方法级别的拦截,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。

    Struts2有自己的拦截Interceptor机制,SpringMVC这是用的是独立的Aop方式,这样导致Struts2的配置文件量还是比SpringMVC大。

    二、底层框架的不同

    Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。

    三、性能方面

    Struts2是类级别的拦截,每次请求对应实例一个新的Action,需要加载所有的属性值注入,SpringMVC实现了零配置,由于SpringMVC基于方法的拦截,有加载一次单例模式bean注入。所以,SpringMVC开发效率和性能高于Struts2。

    四、配置方面

    spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高。

    25.如何避免 SQL 注入?

    答: 1.****(简单又有效的方法)PreparedStatement

    **2.**使用正则表达式过滤传入的参数

    **3.**字符串过滤

    4.jsp****中调用该函数检查是否包函非法字符

    5.JSP****页面判断代码:

    26.final、finally、finalize 有什么区别?

    答: final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。

    finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作。

    finalize 是基础类 java.lang.Object 的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。

    27.常见的异常类有哪些?

    答: Exception 类扩展出数个子类,其中 IOException、RunntimeException 是较常用的两种。

    [外链图片转存失败(img-GXAgJT5G-1565320886384)(file:///C:/Users/19433/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)]

    28.Forward 和 Redirect 的区别?

    答: 1.从地址栏显示来说
    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
    redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
    2.从数据共享来说
    forward:转发页面和转发到的页面可以共享request里面的数据.
    redirect:不能共享数据.
    3.从运用地方来说
    forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
    redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
    4.从效率来说
    forward:高.
    redirect:低.

    29.Get和 Post 请求有哪些区别?

    答: 1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
    (2)post发送的数据更大(get有url长度限制)
    (3)post能发送更多的数据类型(get只能发送ASCII字符)
    (4)post比get慢
    (5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都是get提交)

    30.说一下你熟悉的设计模式?

    答: 工厂方法模式(Factory Method Pattern)
     抽象工厂模式(Abstract Factory Pattern)
    建造者模式(Builder Pattern)
     原型模式(Prototype Pattern)
    单例模式(Singleton Pattern)
    结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:
    适配器模式(Adapter Pattern)
    桥接模式(Bridge Pattern)
     组合模式(Composite Pattern)
     装饰者模式(Decorator Pattern)
     外观模式(Facade Pattern)
    享元模式(Flyweight Pattern)
    代理模式(Proxy Pattern)
    行为型模式用来对类或对象怎样交互和怎样分配职责进行描述主要包含以下11种设计模式:
    责任链模式(Chain of Responsibility Pattern)
    命令模式(Command Pattern)
     解释器模式(Interpreter Pattern)
     迭代器模式(Iterator Pattern)
     中介者模式(Mediator Pattern)
     备忘录模式(Memento Pattern)
     观察者模式(Observer Pattern)
     状态模式(State Pattern)
     策略模式(Strategy Pattern)
     模板方法模式(Template Method Pattern)
     访问者模式(Visitor Pattern)

    31.解释一下什么是 AOP?

    答: AOP即面向切面编程,是OOP编程的有效补充。

    使用AOP技术,可以将一些系统性相关的编程工作,独立提取出来,独立实现,然后通过切面切入进系统。

    从而避免了在业务逻辑的代码中混入很多的系统相关的逻辑——比如权限管理,事物管理,日志记录等等。

    这些系统性的编程工作都可以独立编码实现,然后通过AOP技术切入进系统即可。从而达到了 将不同的关注点分离出来的效果。

    32.解释一下什么是 IOC?

    答: 在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制

    33.Spring 常用的注入方式有哪些?

    答: 构造方法注入,setter注入,接口注入。

    34.Spring 中的 Bean 是线程安全的吗?

    答: 如果在你不定义成员变量的情况下,spring默认是线程安全的

    否则,设置scope=“prototype”

    35.Spring 事务实现方式有哪些?

    答: 实现方式共有两种:编码方式;声明式事务管理方式

    36.说一下 Spring 的事务隔离?

    答:DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.

    未提交读(read uncommited) :脏读,不可重复读,虚读都有可能发生

    已提交读 (read commited):避免脏读。但是不可重复读和虚读有可能发生

    可重复读 (repeatable read) :避免脏读和不可重复读.但是虚读有可能发生.

    串行化的 (serializable) :避免以上所有读问题.

    [外链图片转存失败(img-2xtfwlVH-1565320886386)(file:///C:/Users/19433/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg)]

    37.说一下 Spring MVC 运行流程?

    答: 1)客户端通过url发送请求

    (2-3)核心控制器Dispatcher Servlet接收到请求,通过系统或自定义的映射器配置找到对应的handler,并将url映射的控制器controller返回给核心控制器。

    (4)通过核心控制器找到系统或默认的适配器

    (5-7)由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器

    (8-9)核心控制器将获取的数据和视图结合的对象传递给视图解析器,获取解析得到的结果,并由视图解析器响应给核心控制器

    (10)核心控制器将结果返回给客户端

    38.Mybatis 中 #{}和 ${}的区别是什么?

    答: . #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id,则解析成的sql为order by “id”. 
    \2. $将传入的数据直接显示生成在sql中。如:order by useriduser_id,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.
    \3. #方式能够很大程度防止sql注入。
    4.Sql5.方式无法防止Sql注入。 5.方式一般用于传入数据库对象,例如传入表名.
    6.一般能用#的就别用$.

    39.说一下 Mybatis 的一级缓存和二级缓存?

    答: ①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。

    ②、二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。

    _idKaTeX parse error: Expected 'EOF', got '\3' at position 77: …为order by id. \̲3̲. #方式能够很大程度防止sq…方式无法防止Sql注入。
    5.KaTeX parse error: Expected 'EOF', got '#' at position 30: …例如传入表名. 6.一般能用#̲的就别用.

    39.说一下 Mybatis 的一级缓存和二级缓存?

    答: ①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。

    ②、二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。

    展开全文
  • 初级Java工程师面试准备1、适合人群:应届计算机毕业生和Java初学者2、知识储备,掌握以下知识或相关知识即可面试这一岗位Java基本语法知识Java面向对象知识JSP与基本前端知识数据库(Oracle,MySql)一种或多种基础...

    初级Java工程师面试准备

    1、适合人群:应届计算机毕业生和Java初学者

    2、知识储备,掌握以下知识或相关知识即可面试这一岗位

    Java基本语法知识

    Java面向对象知识

    JSP与基本前端知识

    数据库(Oracle,MySql)一种或多种基础知识

    Servlet知识

    3、面试经验:

    完整的展示自己所学的全部知识

    证明自己潜力

    证明自己与众不同

    不要自卑和自负

    Java基础必须要掌握的知识点

    1、Java关键字及功能

    所有Java关键字都是小写的

    true,false,null不是严格意义上的关键字,而是文字常量

    goto和const是保留关键字,Java中没有使用

    2、Java数据类型

    8种基本数据类型

    3种引用数据类型:类,接口,数组

    8中基本数据类型对应的包装类,能被final修饰,但不能被继承

    String和StringBuffer类也是被final修饰的

    基本数据类型:

    第一类:整型-->byte short int long

    第二类:浮点-->float double

    第三类:逻辑-->boolean

    第四类:字符-->char

    (基础数据类型在栈,里面直接分配内存,而引用数据则是通过堆里的对象来对栈中的内容进行引用)

    基本数据类型由低级到高级分别为:(byte、short、char)-> int -> long -> float -> double

    (此处的“级别”是指表示值的范围的大小)

    题目:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

    答:在switch(expr1),expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本数据类型或者int的包装类Integer,由于byte,short,char都可以隐式转换为int,所以这些类型以及他们的包装类也是可以用switch的。显然,long和String类型都不能被隐式转换为int类型(long可以强制转换为int,但是会丢失精度),所以他们不能作用于swtich语句中

    题目:Short s1 = 1;s1 = s1 + 1;有什么错?Short s1 = 1;s1 += 1;有什么错?为什么?

    3、Java基本运算符

    Java基本运算符的优先级

    运算符操作过程中的类型转换问题

    单目、双目、三目运算符的划分

    4、Java程序流程控制

    三种执行方式:顺序结构,选择结构,循环结构

    条件选择局域:if...else,switch...case

    循环语句:while,do...while,for

    5、Java数组

    数组的申明:一维,二维

    数组初始化:静态,动态

    动态初始化数组必须给长度,不然报错

    动态初始化二维数组,可以只给一维长度

    数组包含元素是引用数据类型,前面已经说了申明是引用数据类型,必须,为每个元素都实例化,否则空指针

    Java基础题面试陷阱

    1、浮点运算陷阱:float和double都不能进行精确运算,而要使用BigDecimal类解决

    2、自增自减运算符陷阱:

    int i = 0;

    for (int j = 0; j < 100; j++) {

    i = i++;

    }

    System.out.println(i);

    执行了100次,i等于? 答:i = 0;这个畜生jvm是i++后把之前的那个i赋值给i,i还是0...

    3、字符与字符串陷阱:

    System.out.println("a" +"b");-->ab

    System.out.println('a' +'b');-->195

    System.out.println("a" +'b');-->ab

    System.out.println('a' +"b");-->ab

    4、返回与退出陷阱:

    return与try...catch语句 -->return之前会执行finally

    exit()函数与try...catch语句 -->直接结束,不管finally

    Java面试案例:

    1、之前已经展示过的题目

    2、Error和exception的区别

    3、Java中的异常处理机制的原理

    4、final,finally,finalize的区别

    5、什么时候使用assert断言

    Java面向对象必需掌握的知识点

    1、面向对象特点:封装、继承、多态

    2、面向对象设计有点:可重用性,可扩展性,可管理性

    3、类与对象特征要知道:

    类与对象的概念

    类方法的特点

    匿名对象:对象方法只能调用一次可以用匿名对象

    构造函数与构造代码块:前者是给对象初始化用的,后者是给所有对象初始化用的

    接口:接口与抽象类的区别

    Object类

    4、变量相关知识:

    成员变量与局部变量:成员变量在对象堆内存,局部变量在栈内存中

    实例变量与类变量:实例变量随对象创建存在堆内存中,类变量随方法创建而存在方法区中

    静态变量:static关键字

    变量生命周期:

    5、面向对象面试案例

    Overload与Override的区别?

    abstract class和interface有什么区别?

    JSP与Servlet必需掌握的知识点

    1、JSP相关

    Tomcat相关知识:需要了解基本配置以及目录结构

    JSP执行过程

    JSP页面构成元素:静态内容HTML,指令,表达式,声明,动作,注释

    JSP注释:

    静态和动态include

    JSP标准标签库

    ·JSP九大内置对象

    2、Servlet相关

    ·EL表达式

    ·JavaBean

    ·Servlet的生命周期

    ·Javax.servlet.jsp.tagext包中的类

    ·Session与cookie

    ·XML的基本概念与使用方法

    ·MVC的处理过程:比较重要

    3、JSP与Servlet案例

    ·GET与POST的区别?

    ·Session与Cookie的区别?甚至可以加上与Request的区别

    ·Servlet的生命周期?

    ·Servlet上下文对象理解

    ·jsp有哪些内置对象?作用分别是?

    ·jsp有哪些动作?作用分别是?

    ·jsp中动态include与静态include的区别?

    ·include指令与include动作的区别?

    ·jsp与servlet的区别?

    数据库必须掌握的相关知识点

    1、数据库相关

    ·一种数据库的安装、配置和使用

    ·数据库账号的管理

    ·ddl,dml操作

    ·索引

    ·sql基本语句

    2、sql相关

    ·sql增删改查基本操作

    ·sql的条件查询

    ·order by

    group by和having

    子查询

    3、JDBC相关

    jdbc连接数据库的过程

    jdbc结果集操作

    jdbc事务

    4、数据库相关面试案例

    如何优化sql执行效率?

    事务是什么?概念,特点

    Java中如何创建一个JDBC连接?

    你见过的或者说你知道的JDBC异常有哪些?

    (PS:每一类知识点都是面试Java初级开发工程师经常会问到的,当然不是说一定要每个面试问题都答上来才算的上是一个合格的Java初级工程师,上面所列的也只是希望能帮助到应届生或者说初学者,检验一下自己对于JavaWeb的掌握程度,以及为那些想学习Java开发的朋友提供一个方向)

    作者:Slarker

    来源:CSDN

    原文:https://blog.csdn.net/u013428259/article/details/51444296

    展开全文
  • 初级Java工程师面试准备1、适合人群:应届计算机毕业生和Java初学者2、知识储备,掌握以下知识或相关知识即可面试这一岗位Java基本语法知识Java面向对象知识JSP与基本前端知识数据库(Oracle,MySql)一种或多种基础...

    初级Java工程师面试准备

    1、适合人群:应届计算机毕业生和Java初学者

    2、知识储备,掌握以下知识或相关知识即可面试这一岗位

    Java基本语法知识

    Java面向对象知识

    JSP与基本前端知识

    数据库(Oracle,MySql)一种或多种基础知识

    Servlet知识

    3、面试经验:

    完整的展示自己所学的全部知识

    证明自己潜力

    证明自己与众不同

    不要自卑和自负

    Java基础必须要掌握的知识点

    1、Java关键字及功能

    所有Java关键字都是小写的

    true,false,null不是严格意义上的关键字,而是文字常量

    goto和const是保留关键字,Java中没有使用

    2、Java数据类型

    8种基本数据类型

    3种引用数据类型:类,接口,数组

    8中基本数据类型对应的包装类,能被final修饰,但不能被继承

    String和StringBuffer类也是被final修饰的

    基本数据类型:

    第一类:整型-->byte short int long

    第二类:浮点-->float double

    第三类:逻辑-->boolean

    第四类:字符-->char

    (基础数据类型在栈,里面直接分配内存,而引用数据则是通过堆里的对象来对栈中的内容进行引用)

    基本数据类型由低级到高级分别为:(byte、short、char)-> int -> long -> float -> double

    (此处的“级别”是指表示值的范围的大小)

    题目:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

    答:在switch(expr1),expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本数据类型或者int的包装类Integer,由于byte,short,char都可以隐式转换为int,所以这些类型以及他们的包装类也是可以用switch的。显然,long和String类型都不能被隐式转换为int类型(long可以强制转换为int,但是会丢失精度),所以他们不能作用于swtich语句中

    题目:Short s1 = 1;s1 = s1 + 1;有什么错?Short s1 = 1;s1 += 1;有什么错?为什么?

    3、Java基本运算符

    Java基本运算符的优先级

    运算符操作过程中的类型转换问题

    单目、双目、三目运算符的划分

    4、Java程序流程控制

    三种执行方式:顺序结构,选择结构,循环结构

    条件选择局域:if...else,switch...case

    循环语句:while,do...while,for

    5、Java数组

    数组的申明:一维,二维

    数组初始化:静态,动态

    动态初始化数组必须给长度,不然报错

    动态初始化二维数组,可以只给一维长度

    数组包含元素是引用数据类型,前面已经说了申明是引用数据类型,必须,为每个元素都实例化,否则空指针

    Java基础题面试陷阱

    1、浮点运算陷阱:float和double都不能进行精确运算,而要使用BigDecimal类解决

    2、自增自减运算符陷阱:

    int i = 0;

    for (int j = 0; j < 100; j++) {

    i = i++;

    }

    System.out.println(i);

    执行了100次,i等于? 答:i = 0;这个畜生jvm是i++后把之前的那个i赋值给i,i还是0...

    3、字符与字符串陷阱:

    System.out.println("a" +"b");-->ab

    System.out.println('a' +'b');-->195

    System.out.println("a" +'b');-->ab

    System.out.println('a' +"b");-->ab

    4、返回与退出陷阱:

    return与try...catch语句 -->return之前会执行finally

    exit()函数与try...catch语句 -->直接结束,不管finally

    Java面试案例:

    1、之前已经展示过的题目

    2、Error和exception的区别

    3、Java中的异常处理机制的原理

    4、final,finally,finalize的区别

    5、什么时候使用assert断言

    Java面向对象必需掌握的知识点

    1、面向对象特点:封装、继承、多态

    2、面向对象设计有点:可重用性,可扩展性,可管理性

    3、类与对象特征要知道:

    类与对象的概念

    类方法的特点

    匿名对象:对象方法只能调用一次可以用匿名对象

    构造函数与构造代码块:前者是给对象初始化用的,后者是给所有对象初始化用的

    接口:接口与抽象类的区别

    Object类

    4、变量相关知识:

    成员变量与局部变量:成员变量在对象堆内存,局部变量在栈内存中

    实例变量与类变量:实例变量随对象创建存在堆内存中,类变量随方法创建而存在方法区中

    静态变量:static关键字

    变量生命周期:

    5、面向对象面试案例

    Overload与Override的区别?

    abstract class和interface有什么区别?

    JSP与Servlet必需掌握的知识点

    1、JSP相关

    Tomcat相关知识:需要了解基本配置以及目录结构

    JSP执行过程

    JSP页面构成元素:静态内容HTML,指令,表达式,声明,动作,注释

    JSP注释:

    静态和动态include

    JSP标准标签库

    ·JSP九大内置对象

    2、Servlet相关

    ·EL表达式

    ·JavaBean

    ·Servlet的生命周期

    ·Javax.servlet.jsp.tagext包中的类

    ·Session与cookie

    ·XML的基本概念与使用方法

    ·MVC的处理过程:比较重要

    3、JSP与Servlet案例

    ·GET与POST的区别?

    ·Session与Cookie的区别?甚至可以加上与Request的区别

    ·Servlet的生命周期?

    ·Servlet上下文对象理解

    ·jsp有哪些内置对象?作用分别是?

    ·jsp有哪些动作?作用分别是?

    ·jsp中动态include与静态include的区别?

    ·include指令与include动作的区别?

    ·jsp与servlet的区别?

    数据库必须掌握的相关知识点

    1、数据库相关

    ·一种数据库的安装、配置和使用

    ·数据库账号的管理

    ·ddl,dml操作

    ·索引

    ·sql基本语句

    2、sql相关

    ·sql增删改查基本操作

    ·sql的条件查询

    ·order by

    group by和having

    子查询

    3、JDBC相关

    jdbc连接数据库的过程

    jdbc结果集操作

    jdbc事务

    4、数据库相关面试案例

    如何优化sql执行效率?

    事务是什么?概念,特点

    Java中如何创建一个JDBC连接?

    你见过的或者说你知道的JDBC异常有哪些?

    (PS:每一类知识点都是面试Java初级开发工程师经常会问到的,当然不是说一定要每个面试问题都答上来才算的上是一个合格的Java初级工程师,上面所列的也只是希望能帮助到应届生或者说初学者,检验一下自己对于JavaWeb的掌握程度,以及为那些想学习Java开发的朋友提供一个方向)

    作者:Slarker

    来源:CSDN

    展开全文
  • 初级Java工程师面试准备 1、适合人群:应届计算机毕业生和Java初学者 2、知识储备,掌握以下知识或相关知识即可面试这一岗位 ·Java基本语法知识 ·Java面向对象知识 ·JSP与基本前端知识 ·数据库(Oracle,MySql)...

    初级Java工程师面试准备

    1、适合人群:应届计算机毕业生和Java初学者

    2、知识储备,掌握以下知识或相关知识即可面试这一岗位

    ·Java基本语法知识

    ·Java面向对象知识

    ·JSP与基本前端知识

    ·数据库(OracleMySql)一种或多种基础知识

    ·Servlet知识

    3、面试经验:

    ·完整的展示自己所学的全部知识

    ·证明自己潜力

    ·证明自己与众不同

    ·不要自卑和自负

    4、投放广告:

    http://s.click.taobao.com/FfOnhXx,淘宝推荐,希望喜欢牛奶的朋友点击这个去天猫超市购买,哈哈!

    Java基础必须要掌握的知识点

    1、Java关键字及功能

    ·所有Java关键字都是小写的

    ·truefalsenull不是严格意义上的关键字,而是文字常量

    ·gotoconst是保留关键字,Java中没有使用

    2、Java数据类型

    ·8种基本数据类型

    ·3种引用数据类型:类,接口,数组

    ·8中基本数据类型对应的包装类,能被final修饰,但不能被继承

    ·StringStringBuffer类也是被final修饰的

    基本数据类型:

    第一类:整型-->byte short int long

    第二类:浮点-->float double

    第三类:逻辑-->boolean

    第四类:字符-->char

    (基础数据类型在栈,里面直接分配内存,而引用数据则是通过堆里的对象来对栈中的内容进行引用)

    基本数据类型由低级到高级分别为:(byteshortchar-> int -> long -> float -> double

    (此处的“级别”是指表示值的范围的大小)

    题目:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

    答:在switch(expr1)expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本数据类型或者int的包装类Integer,由于byteshortchar都可以隐式转换为int,所以这些类型以及他们的包装类也是可以用switch的。显然,longString类型都不能被隐式转换为int类型(long可以强制转换为int,但是会丢失精度),所以他们不能作用于swtich语句中

    题目:Short s1 = 1s1 = s1 + 1;有什么错?Short s1 = 1s1 += 1;有什么错?为什么?

     

    3、Java基本运算符

    ·Java基本运算符的优先级

    ·运算符操作过程中的类型转换问题

    ·单目、双目、三目运算符的划分

    4、Java程序流程控制

    ·三种执行方式:顺序结构,选择结构,循环结构

    ·条件选择局域:if...elseswitch...case

    ·循环语句:whiledo...whilefor

    5、Java数组

    ·数组的申明:一维,二维

    ·数组初始化:静态,动态

    ·动态初始化数组必须给长度,不然报错

    ·动态初始化二维数组,可以只给一维长度

    ·数组包含元素是引用数据类型,前面已经说了申明是引用数据类型,必须,为每个元素都实例化,否则空指针

    Java基础题面试陷阱

    1、浮点运算陷阱:floatdouble都不能进行精确运算,而要使用BigDecimal类解决

    2、自增自减运算符陷阱:

    int i = 0;
    for (int j = 0; j < 100; j++) {
    i = i++;
    }
    System.out.println(i);

    执行了100次,i等于? 答:i = 0;这个畜生jvmi++后把之前的那个i赋值给ii还是0...

    3、字符与字符串陷阱:

    System.out.println("a" +"b");-->ab

    System.out.println('a' +'b');-->195

    System.out.println("a" +'b');-->ab

    System.out.println('a' +"b");-->ab

    4、返回与退出陷阱:

    ·returntry...catch语句 -->return之前会执行finally

    ·exit()函数与try...catch语句 -->直接结束,不管finally

    Java面试案例:

    1、之前已经展示过的题目

    2、Errorexception的区别

    3、Java中的异常处理机制的原理

    4、finalfinallyfinalize的区别

    5、什么时候使用assert断言

    Java面向对象必需掌握的知识点

    1、面向对象特点:封装、继承、多态

    2、面向对象设计有点:可重用性,可扩展性,可管理性

    3、类与对象特征要知道:

    ·类与对象的概念

    ·类方法的特点

    ·匿名对象:对象方法只能调用一次可以用匿名对象

    ·构造函数与构造代码块:前者是给对象初始化用的,后者是给所有对象初始化用的

    ·接口:接口与抽象类的区别

    ·Object

    4、变量相关知识:

    ·成员变量与局部变量:成员变量在对象堆内存,局部变量在栈内存中

    ·实例变量与类变量:实例变量随对象创建存在堆内存中,类变量随方法创建而存在方法区中

    ·静态变量:static关键字

    ·变量生命周期:

    5、面向对象面试案例

    ·OverloadOverride的区别?

    ·abstract classinterface有什么区别?

    JSP与Servlet必需掌握的知识点

    1、JSP相关

    ·Tomcat相关知识:需要了解基本配置以及目录结构

    ·JSP执行过程

    ·JSP页面构成元素:静态内容HTML,指令,表达式,声明,动作,注释

    ·JSP注释:

    ·静态和动态include

    ·JSP标准标签库

    ·JSP九大内置对象

    2、Servlet相关

    ·EL表达式

    ·JavaBean

    ·Servlet的生命周期

    ·Javax.servlet.jsp.tagext包中的类

    ·Sessioncookie

    ·XML的基本概念与使用方法

    ·MVC的处理过程:比较重要

    3、JSPServlet案例

    ·GETPOST的区别?

    ·SessionCookie的区别?甚至可以加上与Request的区别

    ·Servlet的生命周期?

    ·Servlet上下文对象理解

    ·jsp有哪些内置对象?作用分别是?

    ·jsp有哪些动作?作用分别是?

    ·jsp中动态include与静态include的区别?

    ·include指令与include动作的区别?

    ·jspservlet的区别?

    数据库必须掌握的相关知识点

    1、数据库相关

    ·一种数据库的安装、配置和使用

    ·数据库账号的管理

    ·ddldml操作

    ·索引

    ·sql基本语句

    2、sql相关

    ·sql增删改查基本操作

    ·sql的条件查询

    ·order by

    ·group byhaving

    ·子查询

    3、JDBC相关

    ·jdbc连接数据库的过程

    ·jdbc结果集操作

    ·jdbc事务

    4、数据库相关面试案例

    ·如何优化sql执行效率?

    ·事务是什么?概念,特点

    ·Java中如何创建一个JDBC连接?

    ·你见过的或者说你知道的JDBC异常有哪些?

    (PS:每一类知识点都是面试Java初级开发工程师经常会问到的,当然不是说一定要每个面试问题都答上来才算的上是一个合格的Java初级工程师,上面所列的也只是希望能帮助到应届生或者说初学者,检验一下自己对于JavaWeb的掌握程度,以及为那些想学习Java开发的朋友提供一个方向)

    展开全文
  • Java基础 前端 数据库 事务/多线程 虚拟机 后台框架等基础知识
  • 因内容较多我会分几部分分开发! 第一部分:JAVA 基础部分 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为...
  • Java 创建线程池的方式 Java 通过 Executors 提供四种线程池,分别为: ①newCachedThreadPool 创建一个可缓存线程池,如果线程池长度超过处理需要,可 灵活回收空闲线程,若无可回收,则新建线程。 ②...
  • Java初级开发工程师需要根据开发规范与流程独立完成编码、及相关文档。下面是学习啦小编为您精心整理的Java初级开发工程师工作的岗位职责。Java初级开发工程师工作的岗位职责1职责:1. 协助完成需求的整理和软件设计...
  • 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 Java初级开发工程师的职责 Java初级开发工程师的职责 Java初级开发工程师需要协助工程师处理线上版本紧急技术...
  • Java初级开发工程师的工作职责精选 Java初级开发工程师需要负责公司核心产品的升级开发下面是xx为您精心整理的Java初级开发工程师的工作职责精选 Java初级开发工程师的工作职责精选1 职责 1 在研发负责人的安排下...
  • Java 初级开发工程师的岗位职责 Java 初级开发工程师需要负责后台功能模块的开发 独 立进行系统新功能的需求分析和设计下面是小编为您精心 整理的 Java 初级开发工程师的岗位职责 Java 初级开发工程师的岗位职责 1 ...
  • PAGE PAGE 1 Java初级开发工程师的职责 Java初级开发工程师需要协助工程师处理线上版本紧急技术问题线上版本bug处理下面是小编为您精心整理的Java初级开发工程师的职责 Java初级开发工程师的职责1 职责 1 负责参与...
  • 一、基础和语法8.变量的属性覆盖问题?我们来看看这么一道题:class ParentClass {public int i = 10;}public class SubClass extends ParentClass {public int i = 30;public static void main(String[] args) {...
  • 互联网开发工作者,什么是初级开发工程师?...初级java开发工程师必需掌握基本开发技术:jsf框架开发技术、Javaweb核心技术,网页开发技术:html,xml,css,数据库设计技术:mysql,oracle,web服务...
  • 本人今年刚毕业,正在面试初级Java开发工程师,在这里写下遇见的一些笔试题,会持续更新到本人找到工作 1.写一个单例模式 首先要知道什么是单例模式? 保证整个系统中一个类只有一个对象的实例,实现这种功能的方式...
  • 1、java面试必须要读文档前100道题。 2、重复第1点 3、重复第2点
  • PAGE PAGE 1 Java初级开发工程师的岗位职责 Java初级开发工程师需要负责后台功能模块的开发进行系统新功能的需求分析和设计下面是小编为您精心整理的Java初级开发工程师的岗位职责 Java初级开发工程师的岗位职责1 ...
  • 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 Java初级开发工程师的工作职责精选 Java初级开发工程师的工作职责精选 Java初级开发工程师需要负责公司核心产品...
  • PAGE PAGE 1 Java初级开发工程师的主要职责 Java初级开发工程师需要根据分配的任务按时按质完成模块的设计和编程实现下面是小编为您精心整理的Java初级开发工程师的主要职责 Java初级开发工程师的主要职责1 职责 1...
  • 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 Java初级开发工程师岗位的具体内容 Java初级开发工程师岗位的具体内容 Java初级开发工程师需要负责按照项目设计...
  • 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 本文来源网络收集整理\word可编辑 Java初级开发工程师的职责_岗位职责 Java初级开发工程师的职责 Java初级开发工程师需要协助工程师处理线上版本...
  • PAGE PAGE 1 Java初级开发工程师岗位的工作职责 Java初级开发工程师需要根据开发设计说明书进行系统/模块的软件编码工作以下是小编整理的Java初级开发工程师岗位的工作职责 Java初级开发工程师岗位的工作职责1 职责 ...
  • PAGE PAGE 1 Java初级开发工程师工作的岗位职责 Java初级开发工程师需要根据开发规范与流程完成编码及相关文档下面是小编为您精心整理的Java初级开发工程师工作的岗位职责 Java初级开发工程师工作的岗位职责1 职责 1...
  • PAGE PAGE 1 Java初级开发工程师的基本职责描述 Java初级开发工程师需要根据公司技术文档规范撰写模块详细设计文档下面是小编为您精心整理的Java初级开发工程师的基本职责描述 Java初级开发工程师的基本职责描述1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 663
精华内容 265
关键字:

初级java开发工程师

java 订阅