面试总结20201005

简介: 面试总结20201005

1、ArrayList 和 LinkedList 区别?


ArrayList是基于数组结构的,可以自动扩容,当达到数据的百分之80就会扩容,还有由于基于数组,对于查询数据与删除数据都是比较快的,添加比较慢。底层实现了序列化接口,


LinkedList基于链表,增加比较快,查询删除比较慢,要一步一步的遍历。


2、HashMap原理 ?


HashMap底层是基于数组与链表,是特殊的key,value结构,在使用put方法时,是将添加的key通过hash算法将hashcode进行添加到数组中,在调用get方法是,通过的是其中的equles方法进行比较,从数组中进行获得value值,hashMap是线程不安全的,其次就是在使用HashMap进行操作是将相同的key添加到进去,是符合null值的,且是唯一的null,不能多存,基于链表也是为了解决hash碰撞原理,如果在负载因子与扩容中是会自动扩容的。


3、SpringAOP和动态代理


SpringAOP是一种面向切面编程,通过对不同方法,进行添加与业务无关的代码,但是有时不得不存在的代码,就可以使用到动态代理解决,进行对方法的增强,从而形成一个切面,达到通用。


SpringAOP就是底层实现就是基于动态代理,


4、springBoot和原来的Spring有哪些区别?提供了那些方便


使用了SpringBoot相比较于Spring大大简化了配置操作,使用springBoot开发不在需要在添加大量的备注文件,SpringBoot内部会自动的加载需要的启动类Spring Boot可以建立独立的Spring应用程序;


内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作了;


无需再像Spring那样搞一堆繁琐的xml文件的配置;


可以自动配置Spring。SpringBoot将原有的XML配置改为Java配置,将bean注入改为使用注解注入的方式(@Autowire),并将多个xml、properties配置浓缩在一个appliaction.yml配置文件中。


提供了一些现有的功能,如量度工具,表单数据验证以及一些外部配置这样的一些第三方功能;


整合常用依赖(开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等),提供的POM可以简化Maven的配置。当我们引入核心依赖时,SpringBoot会自引入其他依赖。


5、dubbo是做什么用的?原理是什么?


Dubbo是基于RPC协议分布式远程调用服务的框架,主要的工作就是在于对于分布式之间服务之间的通讯作用,原理是通过动态代理与scoke通信实现。


6、平时会写SQL的查询和优化吗?


SQL优化问题,


推荐使用Select(0) 代替select(*)


查询后返回到结果集只有一条数据时,推荐使用limit 1


添加索引


使用not null


使用小表join大表


7、你理解的链表是什么样的模型?优缺点是什么?


链表在于内存空间内,是空间上。顺序比链式节约空间。是因为链式结构每一个节点都有一个指针存储域;


基于链表,查询慢,但是在对于数据的添加删除操作过程中快


8、SpringMVC工作流程?


url访问,到达前端控制器,分发到处理映射器,找到对应的Controller,在返回到前端控制器,在通过前端控制器分发到处理适配器,调用controller后handle,返回给处理适配器一个逻辑地址,在将这个modeAndView返回给前端控制器,在通过视图解析器,将逻辑视图进行解析操作用过view进行视图的渲染操作。


9、Spring的AOP这一块有了解吗?有用到切面吗?


就是为了更清晰的逻辑,可以让你的业务逻辑去关注自己本身的业务,而不去想一些其他的事情,这些其他的事情包括:安全,事物,日志等。


事物。


10、代理的好处是什么?


就是你想要的功能,也就是上面说的 安全,事物,日志等。你给先定义好吧,然后在想用的地方用一下。


11、IOC容器概念是什么?好处是什么?


IOC控制反转,是将原本创建对象的工作交给Spring容器进行处理操作,


好处在于Spring帮我们进行对象的管理操作,保证了对象的唯一。


12、spring生命周期有了解吗?默认的是哪一个?


默认是单例模式


有单例,多例,request,session ,global session


生命周期包括创建到,初始化befor 到销毁等。


13、单例和多例的优缺点是什么?


列模式,在多线程情况下,线程不安全,单例主要要考录到全局化的参数多例。


14、Mybatis#和{}


占位符与原样输出。


15、Mysql索引失效情况


使用不等于like通配符,还有就是使用了函数运行,都是会导致索引失效。


目录
相关文章
|
XML Java API
Java 面试必备的 Spring Bean 生命周期总结
前言 Spring 作为 IOC 容器,管理的对象称之为 bean,Java 对象在 ClassLoader 中有自己的创建和清理过程,那么 Spring Bean 在容器中也有自己的生命周期。
348 0
Java 面试必备的 Spring Bean 生命周期总结
记十次面试字节/美团失败总结的《520道LeetCode题Java版答案》
去字节、美团、BAT等大厂面试,刷LeetCode上的数据结构+算法题是必修课。许多读者说,刷题的时候经常会遇到困难,想要找一本答案题解做参考。 下面分享几个用Java语言实现的开源LeetCode题解,也要感谢这些优秀的开源作者们,分享真的会让这个世界变得很美好。 LeetCode题解答案pdf(基于Java实现) 这是一本基于Java语言实现的LeetCode题解,格式为PDF,可作为刷题的辅助和参考,方便阅读,也方便打印出来学习。
|
负载均衡 Linux 应用服务中间件
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
|
SQL 算法 JavaScript
西安软件园面试总结(一)
西安软件园面试总结(一)
西安软件园面试总结(一)
|
机器学习/深度学习 分布式计算 算法
机器学习岗位面试总结:简历应该关注的5个重点
机器学习岗位面试总结:简历应该关注的5个重点
470 0
机器学习岗位面试总结:简历应该关注的5个重点
|
存储 移动开发 算法
面试必问:十大经典排序算法总结
面试必问:十大经典排序算法总结
107 0
面试必问:十大经典排序算法总结
|
算法 网络协议 搜索推荐
CVTE寒暑假实习面试总结
目录前言1. 笔试2. 面试 前言 主要总结一些笔试和面试的具体问题 1. 笔试 笔试共有 20道选择题(单选加多选) 2道算法题(算法题基本是场景题,但是基本思路都是leetcode的题目) 1道设计题(让你设计一个系统) 20道选择题基本都是计网+数据结构的排序题以及java的一些基本概念 具体可以参考我这篇文章都有大概的提到 java框架零基础从入门到精通的学习路线(超全) 算法题的思路leetcode基本都有 我当时做的算法题主要是这两道 【leetcode】剑指 Offer 62. 圆圈中最后
120 1
|
存储 消息中间件 缓存
flink面试问题总结(1)
flink面试问题总结(1)
|
消息中间件 存储 SQL
flink面试问题总结(3)
flink面试问题总结(3)
flink面试问题总结(3)
|
存储 缓存 资源调度
flink面试问题总结(2)
flink面试问题总结(2)
flink面试问题总结(2)