面试2

001篇:

1.用户输入地址,URL回车执行流程(中间发生了什么事情):DNS解析服务

用户输入完地址掉下回车,先找域名对应服务,DNS,传ip,在请求URI,创建链接
,三次握手,成功,客户端发送报文,建立http请求+springmvc执行流程,断开连接

2.用spring创建对象过程

什么时候放入容器?! 
dao,spring扫描,生成动态代理对象,之后才可以用这个对象

spring启动,初始化内部容器,想new对象,先走javanew对象周期,JDK在前面的,类加载到
方法区,实例化,在堆开辟空间,非静态申请空间,初始值,放入spring,spring返还,构建
完毕了。

注解
spring加载顺序,出现的空指针问题,springboot初始化时候可以用mybatis(异步)

ssm需要一个监听器listener,拿dao对象,查表,放list内存,

3.spring在什么时候把对象注入进去spring三级缓存

spring三级缓存

https://blog.csdn.net/u012098021/article/details/107352463/

4.html中写过期标签会有什么后果

新浏览器也会兼容,会导致新的api支持问题,(center标签)浏览器处理时候,
可能会没有效果

5.出现options问题的请求是什么?

http请求是有预请求的,(post请求)请求接口,网关请求过滤时,那些请求跨域,没设置options,真是请求过不去,因为post与请求是option

6.选择排序和冒泡排序的区别,时间复杂度?

https://blog.csdn.net/samgeren/article/details/107930228


7.为什么写service不直接写实现类

解耦、异步开发,提高工作效率

8.开发中遇到了那些问题,与解决




002篇:

1.从数据库取值,服务器启动就加载这个值到内存

2.动态代理,mybatis如何使用?那种写法有sql注入

定义接口,代理类对象,解析xml,将sql放入代理类,代理类执行sql
动态代理实现代理对象

3.接json时候,json里面有json

对其他平台封装,接收别人json,requestString里面去掉双引号

避免:将下一个平台的json先解析成jsonObject放进去。fastjson接,解析成jsonObject

4.二叉树?遍历方式?

树,根节点,孩子,每一个子树至多有两个孩子

5.把1-10放入二叉树搜索树中,搜索结果

每一颗子树左边小右边大,
                                                 1
                                               2
                                             3
                                           4
                                         5
                                       6
                                     7
								8
							9
						10	







003篇:

1.微服务和传统集群javaweb的区别


2.微服务架构缺陷

3.微服务架构问题

4.无状态的接口

有状态:基于session操作数据,接受请求,可能操作数据库,但是可能内存有争议


无状态(微服务要求设计):(session不跨)接受请求,操作数据库
 
添加购物车:放session就有状态,不放就无状态

5.接口设计中,同时获取多人信息,主题:处理工作流程(出差审批)—调用—处理用户主题(用户名,头像),返回ID获取信息

使用excit,使用or拼接

6.数据库中拿出一组信息,知道用户id集合

7.在sql写东西,内连接三张表顺序

表两两相连,那张表有索引,复用,连表用索引,接下来连表没索引就凉了,期待将带索引变量写
前面

表数据量要求:1:多:多  数据量大,调整顺序,降低比较顺序

8.使用外键要求

9.在delete时候假删除,设置0、1,表中数据量大弥补不足?

删除的数据冷备份

10.java基本数据类型装箱类型,Integer里面有一定共享对象,两个值相等吗

发现当传入参数在-128到127之间是有缓存的,直接返回缓存中预先储存好的一个相应的Integer实例(即Integer内部类IntegerCache的cache数组中的一个Integer实例),因此a和b指向了缓存中同一个实例;而当传入参数在-128到127范围之外的数,则在valueOf方法中直接返回了new Integer(i)产生的实例,因此m和n指向了不同的实例。

注:如果要比较两个Integer对象所表示的值是否相同,尽量不要使用==或者!=来比较,可以使用equals()方法来实现,因为Integer重写了Object类中的equals方法。

004篇

1.负责技术

2.springBoot和SSM关系

3.前后端分离与不分离区别

4.TCP三次握手

5.TCP与UDP区别

6.网络传输中TCP,UDP都那些用到

7.serverlet中接收到http请求时,request和reponse对象分别代表什么

8.常见集合

9.调用方法,方法是Integer可以调int进去吗?反过来?

Integet常量池区间,方法重载的优先级大于装箱,方法传进来的参数,先找重载,有就调用,没有就考虑装箱拆箱有没有重载

10.删除元素

11.map集合,里面键可以为空吗?

键值都可以为null

12.存电话,人名可重复

13.实现一个集合,思路

14.使用索引,建立索引,联合主键

为什么不用外键:联合主键+外键容易出事情,删除互相之间有顺序影响
使用业务控制,关系表有重复?
回表?

005篇:

1.分表原则

2.什么时候考虑数据库缓存?


3.什么时候用redis?

4.数据存储?

5.ES

6.微服务与单体区别

7.微服务采用哪一套

006篇:

1.spring体系的东西的特点

2.spring特点:ioc,di,aop,代码里面体现

3.@RestController @Controller,区别

4.springMVC视图模型

5.modelAndView在不是前后端分离时,是怎么实现的

创建视图名字,取出逻辑视图,使用request域对象

6.mybatis操作数据库时候,哪里不方便

数据库的存储过程

7.自增主键,使用注解实现

8.常见的约束,注解



007篇

1.对封装时的注意问题

面向对象的特点,考虑实体是不是继承那个类

2.怎样理解多态

3.向上转型和向下转型

4.避免转化异常

5.解释一下java的动态代码块怎么用的,读取到springApplication.yml文件中的值?

只能用静态成员,

6.加载类过程中,在static中对另一个类进行forName(),出于什么目的。

加载类到虚拟机里面,让这个类的静态代码块执行

7.解释一下上家单位项目的业务逻辑

社保卡采集系统,入口在微信小程序端,社保卡信息采集

8.微服务:日志中心,发送到MQ中,

9.单体应用:log4J

10.spring调用静态资源

11.存储过程:现在不适用,将运算交给dbms

数据库应该基于存储性能,而不是计算。

008篇

1.数据库问题

2.加锁后,并发问题怎么解决的

3.在数据库里面批量更新,where条件有50W条数据,修改20W条,很卡,怎么解决

分片执行,limit

4.ddl,dql,dml

dql:查询
dml:insert,update,delete

5.数据库视图

6.为什么链接数据库需要使用连接池

连接池慢了怎么办?

7.一个数据库多个jvm连接

8.一个jvm多个库

租户隔离

9.算法:正整数n,1+…+n求和?1的立方到n的立方?求水仙花数?时间复杂度?求水仙花数优化建议?

自己先算出来一个大概的范围再求,时间复杂度变化了吗?没有变化,但是更快了

10.MQ使用

削峰填谷,

11.Redis持久化机制

人事:

商家单位具体地址、站点、上班时间、如果有加班费怎么算、上家单位主要经营业务、人员构成、薪资构成绩效考核

009篇:

1.JVM内存模型

2.深拷贝、浅拷贝。两个线程,查user,产生两个user对象,两个user关系?

3.spring特点?

控制翻转ioc,aop

4.IOC对程序的提升?

不用创建对象,方便管理

5.B树和B+树?

6.常见的垃圾回收器

010篇:

1.短信平台解决什么问题?

项目分多个模块,从接口模块接收的请求进行操作

2. 对于数据校验怎么做的,防止轰炸怎么做的

3.防止轰炸 ,用户发短信,怎么接收

4.使用短信平台,不同企业之间的租户隔离

5.多少张表,短信平台

6.扣费,移动运营商

7.微服务按功能拆分模块,模块有一个节点,一个节点可以部署多分

8.springCloud为基础,网关处理路由怎么配置

9.zuul动态的改变ip

配置文件动态加载

10.100个硬币,放一堆,两个人玩硬币,每个人可以拿1或2或3枚,谁最后拿完没了就赢了?




010篇:

1.公司中负责的业务

2.用Redis操作,保证原子性

Redis单线程接受请求,内部多线程操作

3.用Redis比用关系型数据库提升速度,为什么

4.支付是准确的

5.微服务开发与单体的区别?拆分微服务的标准

资源平衡、

业务模型拆分
业务模型拆分的维度有很多,我们在实际项目中应该综合各个不同维度做考量。我这里主要从主链路、领域模型和用户群体三个维度来讲一下。
在电商领域“主链路”是一个很重要的业务链条,它是指用户完成下单场景所必须经过的场景。按照我们平时买买买的剁手经验,可以识别出很
多核心主链路,比如商品搜索->商品详情页->购物车模块->订单结算->支付业务,这是就是一条最简单的主链路。如果这是一场战斗的话,那
么主链路就是这场战斗的正面战场,我们必须力保主链路不失守。

主链路拆分

6.微服务之间调用数据库,出现自服务交叉的情况,怎么解决?


7.表的数量比较多,怎么处理?对应用产生影响吗?怎么限制数据库连接的数量?

数据库连接池是用什么配置:

8.微服务如何保障token的安全性?

CAS、JWT共享一个、JWT+Redis

9.代码优化的看法

10.共有20W个数,找到前K个,实现榜单展示

011篇

1.模块开发如何认定工作量的

2.开发的模块:策略模块、登录模块

策略模块考虑的问题:

3.html解析怎么做的

4.对于java开发,爬虫开发区别?

5.微信抽奖,reids实现




012篇:

1.sql优化怎么做?

避免去拿盘扫描、模糊查询、%、like

2.常见的等价替换有哪些?

3.怎么优化内存的?

1,注意资源的回收
       比如操作数据库、创建输入输出流、定位等等,要在使用完即时的关闭流。

2,尽量少使用静态变量
       因为静态变量随着类的加载而加载,它在系统里的优先级是很高的,会最后回收。所以,使用静态变量可能导致该回收的对象没能及时回收,内存无法及时释放。

3,动态注册监听
       把一些只有显示的时候才使用到的监听放进进程内部,而不是放在清单文件Manifest中去。

4,注意自己的程序逻辑
       合理的利用四大组件的生命周期,主动关闭使用的对象,比如在Activity的onDestroy()方法中,记得注销广播,将监听对象置为null等,而不是交给系统去决定。

5,注意大图的加载
       在这里得留意,避免因为图片的加载导致的OOM(随时留意我的博客哈,近期我会上传一些关于如何避免OOM异常的解决办法,都是自己细心翻看源码的总结,非常详细哦~!),如果加载的图片很大,需要先手动去处理,可先在xml布局文件中设置图片的显示方式centerCrop,降低分辨率,最好设置多种分辨率格式的图片,以减少内存消耗。   

6,减少使用动画,或者适当减少动画的帧数

4.两个数组,长度为M和N,如何让数组有序,思路?




013篇:

1.单例的时候,使用反射,变成多线程,那么单例还有什么意义

2.char汉字怎么办

3.String类型

4.字符乱码,菱形黑框里面还有问号

5.递归

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值