栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

zxdj面试记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zxdj面试记录

1.常用到的集合有哪些,arrayList和hashSet是否线程安全,怎么处理

2.简单讲讲spring bean的生命周期

3.查询的优化(因为我目前做的搜索引擎)

4.了解的设计模式

5.jvm的了解,new一个对象会在哪个区域

6.项目的设计和开发是否我一个人完成的

7.tomcat了解多少,容器的了解

8.事务的了解

9.数据库索引有哪些类型

10.切面的了解,以及日常的使用,比如日志

11.常用的框架,讲讲spring-boot的注解,以及为什么可以引入依赖直接使用

12.常见的运行时异常,以及这些异常的处理,怎么封装

-------------------------------------------------------------------------------------------------------

1.常用到的集合有哪些,arrayList和hashSet是否线程安全,怎么处理

list和set ,其中list主要有arraylist、linklist、set主要是hashset 其中list有序可重复、set无序不可重复,arraylist可根据下标查询方便,linklist插入删除性能更好,只要改变前后指针的位置。

map主要有hashmap,键值对形式的存储,无序的线程不安全的,hashmap底层是根据数组+联表+红黑树实现的,put时,把key通过hash计算得到backet数组的位置,再初始化链表存进对象。get时,计算出backet的位置,再用equals去匹配值。

解决线程不安全的问题,

1 vector是线程安全的、2 使用Collections的synchronizedList方法

2 hashTable是线程安全的、2 使用Collections的synchronizedMap方法

-------------------------------------------------------------------------------------------------------

2.简单讲讲spring bean的生命周期

先实例化一个bean(单例的),再注入配置,根据配置调用,最后销毁

-------------------------------------------------------------------------------------------------------

3.查询的优化(因为我目前做的搜索引擎)

首先是sql的优化,是否带where条件,是否有排序,是否给条件加索引,连表的话两边都需要加索引,再然后考虑分库分表、缓存、和一些中间表

-------------------------------------------------------------------------------------------------------

4.了解的设计模式

单例模式、工厂模式、观察者模式、

-------------------------------------------------------------------------------------------------------

5.jvm的了解,new一个对象会在哪个区域

–>堆内存是用来存放由new创建的对象和数组,即动态申请的内存都存放在堆内存

–>栈内存是用来存放在函数中定义的一些基本类型的变量和对象的引用变量

-------------------------------------------------------------------------------------------------------

6.项目的设计和开发是否我一个人完成的

框架有架构师,专用的数据,其他的表设计、接口拆分计划安排都是安排的

-------------------------------------------------------------------------------------------------------

7.tomcat了解多少,容器的了解

-------------------------------------------------------------------------------------------------------

8.事务的了解

原子性:要么都成功,要么都失败

一致性:修改数据不能影响整体(ex总金额不能少)

隔离性:多线程处理时不能相互影响

持久性:一旦修改永久有效

-------------------------------------------------------------------------------------------------------

10.切面的了解,以及日常的使用,比如日志

面向切面目的:在不影响别人代码的前提下,在别人代码执行前后切入自己的逻辑。

-------------------------------------------------------------------------------------------------------

11.常用的框架,讲讲spring-boot的注解,以及为什么可以引入依赖直接使用

Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行加载,而这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而XxxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的

-------------------------------------------------------------------------------------------------------

12.常见的运行时异常,以及这些异常的处理,怎么封装

封装自定义的异常可以提高系统的交互友好性和维护性。

BusinessException extends RuntimeException

主要是继承RuntimeException,并且构造方法调用父方法

-------------------------------------------------------------------------------------------------------

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873859.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号