每日八股

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 江苏

相关推荐

04-19 16:47
四川大学 Java
·凉经 总时长45min,手撕300.最长递增子序列1.你项目出于什么背景做的?是有关于你之前的实习经历吗?2.介绍一下你刚说的三大功能3.你是如何使用RAG的?4.这里使用RAG和你直接把文档丢给大模型然后搜索,这俩方法有什么区别?5.你提到的安全问题,那么使用RAG给大模型也会存在安全泄露问题,这个如何解决?6.大模型的滑动窗口和其他存储上下文的方法你知道哪些?7.GPT现在支持多长的上下文?(......)8.有些时候我们会处理几万甚至几十万的数据,这样的情况下,现在大模型是如何处理这样超长长度的上下文的?9.你在最近有没有遇到一些在技术上或者项目上比较困难的情况?如何解决的?10.错误码403是什么?404、401呢?5xx的是什么?11.除了java其他语言了解过多少呢?你用python写过代码吗?12.对比一下java和python语言的区别?答:1.首先明确了语言是工具,架构才是核心2.java更适合做web场景下的开发:讲了面向对象、一个是解释型语言一个是编译+解释(JVM内存管理、JTI和多线程那里)3.python适合爬虫大模型推理等场景4.python运行时报错,java编译器可以检查出大部分错误.......13.你刚刚说的内存管理和垃圾回收,python不能做吗?14.JVM内存模型分哪些区域?15.native 方法比如C++的代码是如何运行在JVM中的?(不会)16.内存溢出和内存泄漏?以及常见场景17.讲一下如何解决java多线程的并发安全问题?18.如果加锁会影响性能,这样怎么办?如何解决性能问题?公平换非公平?锁粒度?乐观CAS?读写分离? 这里我说了好几种优化的情况,不太明白面试官想问什么===========================================================手撕《300.最长递增子序列》没用动态规划,用别的方法做的...10分钟做出来了面试官看起来对手撕的方法不满意,反问,结束。第二天感谢信。
查看18道真题和解析
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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