收集到经常会问的面试题。

1.      java的三大特性是什么

封装 继承 多态  封装就是信息隐藏不可以直接访问隐藏内部细节,他给提供共有的getset方法访问。

继承就是 通俗来说就是a类继承b类 a类就是 b的子类 b就是a的派生类,子类不可以继承父类的私有方法。

多态 就是 同一个方法实现不同的形态,代码复用。

什么是j2ee

   J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

3  getpost的区别?

   Get是从服务器上获取的,post是从客户端获取

   Get的传送量小,不能大于2kb,post的传送量大默认是不受限制

   Get的安全性低,post的安全性高,但是get的执行效率高

4  listarraylist的区别?

  List是一个接口,而ListArray是一个类。
ArrayList继承并实现了List

5 list,set,collection

  List 元素有先后次序的集合,元素有index位置, 元素可以重复,

 Set 元素无续, 不能重复添加, 是数学意义上的集合, 继承与
Collection 接口, 实现类: HashSet(是一个只有Key的HashMap)

Collection是个集合超级接口,其中List,set都是Collection的子接口

6 hashmap和hashtable的区别?

  HashMap不是线程安全的

  HashTable是线程安全的一个Collection 

,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

7 重载和重写有什么区别?

 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,
将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了,而且如果子类的方法名和参数类型和个数都和父类相同,那么子类的返回值类型必须和父类的相同;如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载。Overloaded的方法

8 什么是分布式开发?什么是duobo

 分布式开发,是讲隔离开发配合或者透明开发配合的一个开发模式,本质是工作模式。

 Dubbo是[1] 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC实现服务的输出和输入功能,可以和 [2]  Spring框架无缝集成。

 9 spring mvc的执行流程是?

用户请求首先发送到前端控制器DispatcherServletDispatcherServlet根据请求的信息来决定使用哪个页面控制器Controller(也就是我们通常编写的Controller)来处理该请求。找到控制器之后,DispatcherServlet将请求委托给控制器去处理。接下来页面控制器开始处理用户请求,页面控制器会根据请求信息进行处理,调用业务层等等,处理完成之后,会把结果封装成一个ModelAndView返回给DispatcherServlet。前端控制器DispatcherServlet接到页面控制器的返回结果后,根据返回的视图名选择相应的试图模板,并根据返回的数据进行渲染。最后前端控制器DispatcherServlet将结果返回给用户。

10 什么是多线程,动态代理,反射?

动态代理就是他不是实际的服务,他是一种代理类或委托类项目运行中实现的一种特定的服务,

反射机制是java开发语言的特征之一它允许运行中的 Java程序对自身进行检查,或者说自审,并能直接操作程序的内部属性。

多线程是指一个应用程序同时执行多个任务,一般来说一个任务就是一个线程,而一个应用程序有一个以上的线程我们称之为多线程。进程就是一个正在执行的任务,比如说qq是一个正在执行的任务那么qq窗口就是一个线程。

11数据库的三大范式?

第一范式:确保每列的原子性.
第二范式:在第一范式的基础上更进一层,目标是确保表中的每列都和主键相关.

三范式:在第二范式的基础上更进一层,目标是确保每列都和主键列直接相关,而不是间接相关.

12 servlet的生命周期?

1)加载和实例化  2)初始化 3)请求处理  4)服务终止

13 多线程的生命周期?

 开始 就绪运行 死亡阻塞

http的请求流程是?

  域名解析 -->发起TCP3次握手 -->建立TCP连接后发起http请求 -->服务器响应http请求,浏览器得到html代码 -->浏览器解析html 代码,并请求html代码中的资源(如jscss、图片等) --> 浏览器对页面进行渲染呈现给用户

 

 

 

  使用java代码写一个单利模式

  public class Singleton { 

    private static Singleton instance; 

    private Singleton (){} 

    public static synchronized SingletongetInstance() { 

    if (instance == null) { 

        instance = new Singleton(); 

    } 

    return instance; 

    } 

}

 

  linux的常用的命令?

  ls 显示文件

  rm 删除     cp 路径/文件名目标路径  ==》目标路径必须存在

  mkdir   创建一个文件夹

  mv dir dir1 移动目录

  date 当前系统时间

 

 

  什么是aop ioc 他在spring中怎样应用?

  ioc就是控制翻转或是依赖注入。通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new生成你需要的对象,而是通过springbean工厂为你长生这样一个对象。

aop就是面向切面的编程。比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类,那你每一类中都要写关于日志的方法。但是如果你用aop,那么你可以写一个方法,在这个方法中有关于数据库操作的方法,每一次调用这个方法的时候,就加上生成日志的操作

 

 

  session和从cookie有什么区别以及访问量比较大的时候你怎样解决?

  1cookie数据存放在客户的浏览器上,session数据放在服务器上。

2cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗

   考虑到安全应当使用session

3session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

   考虑到减轻服务器性能方面,应当使用COOKIE

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20cookie

cookie session的联系:

session是通过cookie来工作的

sessioncookie之间是通过$_COOKIE['PHPSESSID']来联系的,通过$_COOKIE['PHPSESSID']可以知道sessionid,从而获取到其他的信息。

在购物网站中通常将用户加入购物车的商品联通session_id记录到数据库中,当用户再次访问是,通过sessionid就可以查找到用户上次加入购物车的商品。因为sessionid是唯一的,记录到数据库中就可以根据这个查找了

 

 

什么是值传递和引用传递?

值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数

 

collectioncollections的区别是什么?

Collection是集合类的上级接口,继承与他的接口主要有SetList.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

 

list set collectionmap 有什么区别?

Collection 是一个较高的抽象,List, Set Map都是Collection的子接口

List的特征:允许重复元素,存储顺序与插入元素顺序一致

Set 特征:不允许重复元素(和数学中的集合一样),不保证元素存储顺序

Map: 存储元素是一系列 Key => Value (=>)比如 {"a"=>2,"b"=>5, "c"=3}

 

sql优化的方法?

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where order by 涉及的列上建立索引。

2.应尽量避免在 where子句中对字段进行 null值判断,!=<>操作符, or来连接条件,否则将导致引擎放弃使用索引而进行全表扫描

3.in not in也要慎用,否则会导致全表扫描

 

链表查询a表有10条数据,b表有5条数据如果是left join 查询后是几条

 10a表为主,不符合条件的查询出来均为空。

Springbean节点的生命周期是什么?

singleton, prototype, request, session, global session

什么是spring boot?
从本质上来说,springboot是一个专注于框架的框架。Spring Boot就是对各种框架的整合,让他们集成在一起更加简单,简化了我们在集成过程中的模板化配置,它做了那些没有它你自己也会去做的Spring Bean配置。你不用再写这些样板配置了,可以专注于应用程序的逻辑,这些才是应用程序独一无二的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值