面试题随笔总结(一)(20题一组)

  1. tcp有啥缺点

慢,效率低,占用系统资源高,易被攻击
TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。
而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

  1. spring aspect原理

将类标记为切面,把当前类标识为一个切面供容器读取

  1. spring AOP用到哪些设计模式

代理模式

  1. cors跨域的过程是咋样的

https://zhuanlan.zhihu.com/p/29980092

  1. spring是否是线程安全的

spring是一个容器,你可以说bean修饰的方法是不是线程安全,但是不能说spring是否安全

  1. 哪种情况构造方法必须是私有的

单例模式,除此之外都是共有的

  1. javac执行是否涉及到classLoader和双亲委派

涉及到了,因为javac编译需要转换为字节码进入验证,而验证是classLoader的第一阶段。

  1. length,length(),size()的区别?

length是数组的属性,length()是string的方法,size()是List的方法。

  1. Arrays.sort()用的什么方法排序?时间复杂度是多少?Timsort是如何排序的?

1.扫描数组,确定其中的单调上升段和严格单调下降段,将严格下降段反转;2.定义最小基本片段长度,短于此的单调片段通过插入排序集中为长于此的段;3.反复归并一些相邻片段,过程中避免归并长度相差很大的片段,直至整个排序完成,所用分段选择策略可以保证O(n log n)时间复杂性。

  1. ==和equals的区别

equals比的是内容,==还比类型

  1. java8种基本数据类型及所对应字节数

byte(字节型 1 )、short(短整型 2 )、int(整型 4 )、long(长整型 8 )、float(单精度浮点型 4 )、double(双精度浮点型 8 )、boolean(布尔型 1 )、char(字符型 2 )

  1. final 和 static的作用

final可以修饰类和方法,并且无法继承
static修饰的在编译器就放入堆,加快运行速度

  1. 线程之间是如何通信的

通过主存

  1. string寻找某个固定字串起始字符索引的api

indexOf(str);

  1. 类的关系有哪些

泛化、依赖、关联、实现、聚合、组合

https://blog.csdn.net/lpjishu/article/details/51491779

在这里插入图片描述
建造者模式。

  1. java线程的七种状态和3种中断

初始,运行,阻塞,等待,超时等待,中止
设置退出标志,interrupt,stop

  1. java乐观锁和悲观锁的实现原理

CAS算法和synchronized思想。

  1. 方法内的变量是线程安全的吗?

是,因为是私有。

  1. request…session…cookie…token的作用域和时长

服务器生成cookie,浏览器保存cookie,只要用户不清除cookie,它就是永久保存到用户本地的

sessionId失效了,session对象也就被销毁了

request对象中的变量在一次请求中有效,在同一网站的多个网页间共享。而session是在用户的多次请求中都有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值