每日八股

sad,来个大杂烩吧。

1. Golang中数组和切片的区别?

2. make和new的区别?

3. GMP模型

4. 逃逸分析是什么

5. 死锁如何排查解决?

6. Spring用到了哪些设计模式

7. Spring事务失效的原因

8. Springboot启动原理

9. TCP粘包和拆包

10. 说一说ReentranLock和Synchronized的区别

11. 说一说AQS

12. agent有哪些模式?

明天再写答案。。。
全部评论
12. ReAct模式,Plan and Execute模式,自反思模式
点赞 回复 分享
发布于 03-18 17:38 江苏
11. AQS抽象队列同步器,是JUC里的一个抽象类,内部是一个队列和状态变量,实现场景有CountDownLatch和ReentrantLock
点赞 回复 分享
发布于 03-18 17:37 江苏
10. Synchronized是关键字,用于对象或代码块,是隐私锁,特点是可重入,非公平锁;ReetranLock是基于AQS实现的显示锁,需要手动释放,特点有可重入,可超时获取,可设置公平锁
点赞 回复 分享
发布于 03-18 17:35 江苏
9. TCP粘包指的是发送方发了多个消息,接收方收到时变一个消息,原因是TCP面向字节流传输,头部没有长度字段; TCP拆包指的是发送方发了一个消息,到接收方时变为多个消息,原因是发送缓冲区大小限制和最大报文段限制;解决方法是固定前n位作为长度字段或者使用特殊字段分割边界
点赞 回复 分享
发布于 03-18 17:29 江苏
8. Main方法中的SpringApplicant.run():创建SpringApplicant实例,启动监听器,准备环境,创建上下文,刷新上下文(创建BeanFactory,初始化Bean并装配),如果是Web应用启动Tomcat,发布启动完成时间
点赞 回复 分享
发布于 03-18 17:26 江苏
7. 没加注解;设置的异常与捕获的异常不匹配;存储引擎不支持事务;catch未抛出异常;自调用内部方法 或 方法不是public;因为会导致AOP失效,所以事务失效;
点赞 回复 分享
发布于 03-18 17:22 江苏
6. 工厂模式:BeanFactory存储Bean;单例模式;体现在Bean的作用域;代理模式:AOP动态代理;观察者模式:Springboot的启动时发布事件;责任链模式:体现在拦截器
点赞 回复 分享
发布于 03-18 17:19 江苏
5. java死锁通常是由于线程持有对方需要的锁,具体排查为:使用jstack打印堆栈日志,搜索死锁关键字,定位代码
点赞 回复 分享
发布于 03-18 17:15 江苏
逃逸分析是指局部变量的生命周期是否超出当前方法,触发场景有:返回指针&x,闭包捕获,跨goroutine传递。
点赞 回复 分享
发布于 03-18 17:12 江苏
3. GMP模式,G指的是用户级协程,M指的是内核级线程,P指的是处理器,内部有一个本地队列,流程是G创建后放入P的本地队列,M与P绑定,从队列中取出G执行,
点赞 回复 分享
发布于 03-18 17:11 江苏
2. make初始化并分配内存,只能用于slice,map,channel,返回的是数据;new用于分配内存但不初始化,返回的是指针
点赞 回复 分享
发布于 03-18 17:09 江苏
1. 数组固定长度,切片动态长度,是一个结构体,包含底层指针数据,长度,容量,传递给函数时,可以修改元素值,但扩容后不会
点赞 回复 分享
发布于 03-18 16:55 江苏
点赞 回复 分享
发布于 03-18 16:31 江苏

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务