分享

常见面试题

 行者花雕 2020-01-15

1.面向对象

1.谈谈你对面向对象的理解

面向对象的三大特点:继承   封装   多态
      1.继承:提高代码的复用性,在一个父类的基础上拓展子类特有的属性和行为
      2.封装:使用一个修饰符private  私有的 
          (1.把成员变量私有化(使用private修饰)2.给私有的成员变量提供getter 和setter方法
      3.多态:使用父类类型(或接口) 接收其子类对象(实现类对象)


2.thissuper的区别
this是指代当前对象(this所在方法被谁调用,this就是指代哪个对象)
this可以调用本类的构造方法,必须写在第一行

super:可以看成是父类对象,但不持有父类对象地址
super可以用来调用父类方法字段
super可以在子类的构造方法里面调用父类的构造方法


3.override和overload的区别
override:方法覆写(子类与父类   接口与实现类)
	但父类的方法不能满足子类需求需要覆写父类方法
	方法签名一致
	和返回值类型与修饰符有关
	(----------------)

overload:方法重载(在同一个类中)
	方法名一致当形参列表不同
	和返回值类型与修饰符无关
		
4.final finally finalize
	final 是一个修饰符
	finally 异常处理里面代码块
	finalize Object 垃圾回收的方法

5.== 和 equals 的区别
	==是用于基本数据类型的比较(比较地址值)
    equals是用于引用数据类型的比较,比较的是对象里面存储的数据是否相等,但是,默认Object里面的	equals本质上还是使用的==在比较


6.String Stringbuffer Stringbuilder的区别
	都是表示字符串
	在字符串拼接上 Stringbuffer Stringbuilder效率高于String
	Stringbuffer 线程安全
	Stringbuilder  线程不安全的


7.线程
	线程启动的两种方式?
	一种继承Thread类
	实现Runnable接口
	
8.请说说启动线程时 start()run()有什么区别?
	调用run()只是普通点的方法调用.
	start()是新开启一个线程,去执行线程里面的run()方法


9.请说明 ArrayList和LinkedList的区别
     1.	两个都是不是同步的
      2.ArrayList查找效率高,尾部添加效率高,删除和中间插入数据效率低
     3.数据添加删除效率高,查询效率低

10.Set和List的区别
        1.set --其中的值不允许重复,无序的数据结构
         2.list --其中的值允许重复,因为其为有序的数据结构


11.HashSet  TreeSet的区别(判断重复的标准)
    1.TreeSet 是二差树实现的,Treeset中的数据是自动排好序的,不允许放入null值。 
    2.HashSet 是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null
	3.两者中的值都不能重复,就如数据库中唯一约束。 

HashSet不能添加重复的元素,当调用add(Object)方法时候,首先会调用Object的hashCode方法判断hashCode是否已经存在,如不存在则直接插入元素;如果已存在则调用Object对象的equals方法判断是否返回true,如果为true则说明元素已经存在,如为false则插入元素。
	
12.Comparable和Comparator 区别
	Comparable:自然排序(默认)
	Comparator:定制排序
	都有一个比较的方法,通过比较方法的返回值,决定添加数据的顺序问题(0:相等 1 -1 )

13.map遍历的方式
	1.运用keySet()  遍历每个key 通过get(String key)
	2.EntrySet  getKey  getValue



2.mysql

1.事务(ACID)
	原子性
	一致性
	隔离性
	持久性
2.left join 和 right join 是以那边的数据表为准
   
3.分页limit 

limit (1-1)*10,10;
limit (2-1)*10,10;
limit (3-1)*10,10;
分页 limit (开始索引,每页的条数)

有可能手写sql
select * from 表 where
	
	

3.web基础

1.servlet
	1.servlet生命周期
			1.第一次访问的时候初始化
            2.以后每一次访问的时候都执                                                                                行service方法
           3.当正常的关闭tomcat的时候销毁
	
	2.四大作用域
	1.pageContext
	2.Request
	3.session
	4.application
		作用域:用于servlet和servlet之间进行数据共享

	3.什么是jsp ---就是servlet  (jsp 页面会被编译为servlet)
	
	4.jsp的内置对象有哪些
			request 
  			response

  			pageContext
  			session
 			application
			page
 			
			 out
			 
  			config
			exception
	5.el和jstl {在jsp页面运用一定的规则,取作用域里面的值}

	6.jsp的三大指令
		page --导入java  jar包
		include --引入其他页面
		taglib  引入标签 

	7.页面与页面跳转的方式
		请求转发
		重定向
		请求包含

	8.filter过滤器
		如何配置过滤器
			1.Filter定义的方式
					定义一个类实现Filter接口
			filter的生命周期
			Filter的生命周期---和Servlet的生命周期进行对比
			1.Filter在服务器启动的时候完成对象的创建并执行init方法
			2.filter对象只会创建一次,init方法也只会执行一次
			3.每次拦截到都会去执行doFilter方法
			4.正常关闭会执行destory方法

	9.监听器
		如何配置监听器
		<listener> 
		 <listener-class> </listener-class> 
	 	</listener> 

	10.说说cookie和session的区别
		session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。		
		cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。
		session弊端,就是会占用服务器的资源,




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多