【面试1】

基础

1、equals和==(equals和==的区别)
equals:是Object的一个方法,实现对象的比较;复写equals()方法,达到比较对象内容是否相同的目的
==:用于比较是否同一个引用和比较基本数据类型是否相等

2、多态(多态的理解)
把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”。

一、集合

1、集合包括哪些API(集合有哪些)
集合包括Collection接口和Map接口两大类。
Collection是单列数据,定义了存取一组对象的方法的集合;Map是双列数据,存储的是键值对。
Collection的子接口包含了List和Set,List是元素有序、可重复的集合,Set是元素无序、不可重复的集合。

二、线程

1、线程的创建4种方式(创建线程有几种方式)

  • 继承Thread,实现run()
  • 实现runnable,实现run()
  • 实现callable,实现call()
  • 线程池

2、线程生命周期(线程的生命周期有几种)

  • 创建
  • 就绪
  • 运行
  • 阻塞
  • 死亡
image.png

3、yield()
线程从运行状态变为就绪状态,释放执行权,本线程可能再次抢到执行权进入运行状态。

4、wait() ( wait() 和 sleep() 的区别 )
线程通信的一组api,是Object的方法,使线程进入阻塞状态,并释放同步监视器。调用notify()或notifyAll

5、sleep()
是线程类(Thread)的静态方法;
调用此方法让当前线程暂停执行指定的时间;
将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态)

三、mysql

1、mysql数据引擎( 了解的数据库引擎 )

image.png

2、索引、聚簇索引、覆盖索引(三者的理解)

  • 索引:一种数据结构,能够帮助我们快速的检索数据库中的数据。
  • 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据。
  • 非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行

3、隔离级别(什么是赃读、不可重复读、幻读)
数据库事务问题:赃读、不可重复读、幻读

  • 赃读:读取未提交的数据
  • 不可重复读:同事务前后多次读取,发现数据内容不一致(事务开启对行未加锁,可以被修改)
  • 幻读:同事务前后多次读取,发现数据总量不一致(事务开启对表未加锁,可以被修改)
隔离级别 赃读 不可重复读 幻读
读未提交
读提交 ×
可重复读 × ×
可串行 × × ×

Spring

1、spring是什么
Spring是一个轻量级的IoC和AOP容器框架。

spring模块

模块名 作用
Spring Core 核心类库,提供IOC服务
Spring Context 提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等)
Spring AOP AOP服务
Spring DAO 对JDBC的抽象,简化了数据访问异常的处理
Spring ORM 对现有的ORM框架的支持
Spring Web 提供了基本的面向Web的综合特性,例如多方文件上传
Spring MVC 提供面向Web应用的Model-View-Controller实现

2、spring配置方式3种

  • 基于XML的配置
  • 基于注解的配置
  • 基于Java的配置

3、spring的优点

  • spring属于低侵入式设计,代码的污染极低;
  • spring的DI机制将对象之间的依赖关系交由框架处理,减低组件的耦合性
  • Spring提供了AOP技术,支持将一些通用任务,如安全、事务、日志、权限等进行集中式管理,从而提供更好的复用
  • spring对于主流的应用框架提供了集成支持

4、IoC的理解(SpringIoc依赖什么实现)

  • IOC就是控制反转,对象创建的权力和时机实例的依赖关系由spring容器控制,有利于松散耦合,也利于功能的复用。
  • 使用java的反射机制,根据配置文件在运行时动态的去创建对象以及管理对象,并调用对象的方法
  • 3种注入方式:①构造器注入、②setter方法注入、③注解注入

5、AOP理解 (AOP的原理)
用于将业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect)

AOP实现的关键在于 代理模式
AOP代理主要分为静态代理(AspectJ-编译增强)动态代理(Spring AOP)

动态代理:JDK动态代理(实现共同接口)和CGLIB动态代理(继承类改写)

springmvc

1、springmvc的流程(springmvc的流程)
请求 => DispatcherServlet =>
请求HandlerMapping获取handler=> DispatcherServlet =>
HandlerAdapter执行Handler方法获得ModelAndView => DispatcherServlet =>
ViewResolver解析返回视图view => DispatcherServlet =>
View视图渲染返回 => DispatcherServlet
=> 响应

image.png

nginx

1、nginx是什么(nginx的了解)
Nginx---Ngine X,是一款免费的、自由的、开源的、高性能HTTP服务器反向代理服务器;也是一个IMAPPOP3SMTP代理服务器;Nginx以其高性能、稳定性、丰富的功能、简单的配置和低资源消耗而闻名。

也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理,也可以作为反向代理服务器负载均衡器HTTP缓存

Nginx 解决了服务器的C10K(就是在一秒之内连接客户端的数目为10k即1万)问题。它的设计不像传统的服务器那样使用线程处理请求,而是一个更加高级的机制—事件驱动机制,是一种异步事件驱动结构。

redis

1、数据类型(5种)(reids的数据类型有几种)
String、hash、list、set、sorted set
(一)String
这个其实没啥好说的,最常规的set/get操作,value可以是String也可以是数字。一般做一些复杂的计数功能的缓存。
(二)hash
这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。博主在做单点登录的时候,就是用这种数据结构存储用户信息,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。
(三)list
使用List的数据结构,可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。本人还用一个场景,很合适—取行情信息。就也是个生产者和消费者的场景。LIST可以很好的完成排队,先进先出的原则。
(四)set
因为set堆放的是一堆不重复值的集合。所以可以做全局去重的功能。为什么不用JVM自带的Set进行去重?因为我们的系统一般都是集群部署,使用JVM自带的Set,比较麻烦,难道为了一个做一个全局去重,再起一个公共服务,太麻烦了。
另外,就是利用交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能。
(五)sorted set
sorted set多了一个权重参数score,集合中的元素能够按score进行排列。可以做排行榜应用,取TOP N操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345