江苏伟风智能 Java 实习一面

江苏伟风智能 Java 实习一面

1.说一下ArrayList和LinkedList的区别

ArrayList

  • 优点:ArrayList 是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询 操作效率会比较高(在内存里是连着放的)。
  • 缺点:因为地址连续,ArrayList 要移动数据,所以插入和删除操作效率比较低

LinkedList

  • 优点:LinkedList 基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等 一个连续的地址。对于新增和删除操作,LinkedList 比较占优势。LinkedList 适用于要头尾操 作或插入指定位置的场景。
  • 缺点:因为 LinkedList 要移动指针,所以查询操作性能比较低

适用场景分析

  • 当需要对数据进行对随机访问的时候,选用 ArrayList。
  • 当需要对数据进行多次增加删除修改时,采用 LinkedList。

如果容量固定,并且只会添加到尾部,不会引起扩容,优先采用 ArrayList。 当然,绝大数业务的场景下,使用 ArrayList 就够了,但需要注意避免 ArrayList 的扩容,以及非顺序的插入。

2.ArrayList和LinkedList插入数据效率谁高

👆

3.LinkedList的元素查询逻辑

get(int index): 逻辑: 从链表的头部开始遍历,计数直到达到指定的index位置。由于LinkedList内部维护了对头节点和尾节点的引用,以及节点间相互链接的关系,因此可以直接通过节点间的next指针(或在反向遍历时的prev指针)来逐个访问节点。 返回值: 返回该位置的元素,如果索引越界则抛出IndexOutOfBoundsException。

4.Spring IOC

5.@Autowired注解的实现原理

@Autowired原理:
		举例:@Autowired
			 private BookService bookService;
		1)、先按照类型去容器中找到对应的组件;bookService = ioc.getBean(BookService.class)
			①、找到一个:找到就赋值
			②、没找到就报异常
			③、按照类型可以找到多个?找到多个如何装配上?
			    a、类型一样就按照变量名为ID继续匹配
			      Ⅰ、匹配上就装配
			      Ⅱ、没有匹配?报错
			      		原因:因为我们按照变量名作为id继续匹配的
			      		使用@Qualifier指定一个新的id
			      			找到就匹配

6.spring数据注入

7.mysql索引适用的场景

8.索引失效场景

9.mysql事务的特点

10.ACID原则

什么是事务?: 多条sql语句,要么全部成功,要么全部失败。

事务的特性

数据库事务特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性 (Durabiliy)。简称ACID。

  • 原子性:组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有操作都成功, 整个事务才会提交。任何一个操作失败,已经执行的任何操作都必须撤销,让数据库返回初始 状态。
  • 一致性:事务操作成功后,数据库所处的状态和它的业务规则是一致的。即数据不会被破坏。 如A转账100元给B,不管操作是否成功,A和B的账户总额是不变的。
  • 隔离性:在并发数据操作时,不同的事务拥有各自的数据空间,它们的操作不会对彼此产生干扰
  • 持久性:一旦事务提交成功,事务中的所有操作都必须持久化到数据库中。

11.mysql数据库如何体现这四个原则的呢

👆

#软件开发笔面经#
全部评论

相关推荐

一面-9/9-30min1. 自我介绍2. 实习的项目、你做了些什么,用的什么消息组件3. 讲讲实习你做的这个排序算法4. 排序算法这个权重是你自己配置还是用户配置5. 这个算法存在的问题6. 聊聊你的组件项目、解决了什么痛点、运用场景7. 如果线程池出了问题是自动更新跟新吗8. 线程池核心线程数是 5 ,最大线程数是 20,那么线程创建的流程是什么9. 大于核心线程数,小于最大线程数这部分的线程没有任务会怎么样10. 如果任务队列满了怎么办11. LinkedBlockingQueue 默认队列长度、会有什么问题12. 聊一下项目的分段锁13. 项目的 QPS15. 分布式场景下该怎么加锁16. 你想一下有没有什么集合用到分段锁的思想17. 反问二面-9/11-55min1. 自我介绍2. 为什么要做这个组件项目3. 你提到的 io / cpu 密集型出自于哪里4. 具体配置是怎样的5. 为什么 cpu 密集型为 n + 16. 如果 cpu 数为 4,配置为 (n +1)5, 有四个被调度了,那么第 5 个还会被调度吗7. 你不知道这个问题,你会从哪些方面思考8. 线程创建具体开销是多少呢,上下文切换具体是多大的开销呢9. 讲下 DDD 领域模型10. 仓储服务层去基础设施层查数据和传统的有什么区别11. MySQL 事务,可重复读解决了什么问题,你平常会对一个数据执行两次查询吗(答的很少)12. 那解决这个不可重复度有什么意义,你从其它方面想想13. 索引,创建唯一索引会有些什么代价14. 讲下索引下推15. 你相比其它校招生的优势在哪里16. 如果你身边有一个很聪明的人,就是做什么事都很优秀,你该怎么去和他竞争17.反问三面-9/12-20min1. 自我介绍2. 为什么从前面实习公司离职3. 一般从哪里去学习技术4. 一天学习多个小时5. 抗压能力怎么样、具体能举个例吗6. 能接受加班吗7. 期望薪资8. 反问😓已挂,最后去问hr说我的期望薪资和转正薪资不匹配
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务