关注
题解:
goroutine内存泄漏的情况?如何避免
goroutine内存泄漏基本上是因为异常导致阻塞, 可以导致阻塞的情况
1 死锁, goroutine 等待的锁发生了死锁情况
2 chan没有正常被关闭,导致读取读chan的goroutine阻塞
如何避免
1 避免死锁
2 正常关闭
3 使用context管理goroutine, 超时结束goroutine
协程和线程的区别
主要的区别在于协程是用户级的并非单位, 不需要进入到内核态处理. 所以协程更加轻量级, 不占用内核资源.
slice和array的区别,讲一下底层的结构
array本质是一个固定数组, 内存层面就是一块固定的内存区域,不会改变, 传递的时候是拷贝一份完整数据.
slice本质上是一个动态数组的封装,底层指向不是一个固定内存,可以重新指向新的内存,传递的时候底层指向相同的内存.
channel的用途和使用上要注意的点,底层的结构是怎样的
channel是golang中协程之间的数据交互的重要工具,相当于与进程内的一个消息队列.
注意点: 最重要的是chan的close处理, 不然很容易出现异常, 1写数据goroutine中调用close, 2不要多次调用close, 3使用信号通知chan close了
底层结构: 环形队列(缓存数据, 无缓存的时候用不上), 读goroutine 队列(链表), 写goroutine 队列(链表), 锁
orm框架的优缺点
orm封装了对数据库的操作,并且自动转换内存数据结构和数据库字段, 优点是方便,开发效率高, 缺点是有些场景性能低, 复杂对像转换处理起来不方便.
操作系统内核态和用户态的区别,何时进入内核态or用户态
内核态: 高权限,执行系统操作,操作资源,调度管理等等
用户态: 低权限,执行用户程序操作
进入内核态: 中断(系统调用, 时间片到期等)
进入用户态: 内核态处理完成,调度用户线程处理程序
tcp和udp的区别,他们的报头结构,tcp的三次握手和四次握手的中间状态有哪些
tcp: 可靠(数据顺序接收, 数据不丢, 数据不重复), 面向连接, 字节流(需要), 性能低
udp: 不可靠, 数据包, 性能高
三次握手/四次挥手 11种状态
查看原帖
18 评论
相关推荐
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
爱睡觉的冰箱哥:只有实习过了才知道学校里面有多象牙塔
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你被哪些公司秒挂过? #
10894次浏览 126人参与
# 26届的你们有几段实习? #
4519次浏览 84人参与
# 如何提高实习转正率? #
5596次浏览 103人参与
# 第一份工作应该只看薪资吗 #
153194次浏览 1535人参与
# 大厂面试初体验 #
14646次浏览 94人参与
# 你想留在一线还是回老家? #
49204次浏览 506人参与
# 你认为哪些项目算烂大街? #
4291次浏览 103人参与
# 你以为的实习VS真实的实习 #
5375次浏览 76人参与
# 选完offer后,你后悔学本专业吗 #
48000次浏览 239人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
9738次浏览 119人参与
# 你后悔自己读研吗? #
4832次浏览 122人参与
# 最难的技术面是哪家公司? #
3330次浏览 37人参与
# 拼多多工作体验 #
29572次浏览 201人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
114158次浏览 793人参与
# 月薪多少能在一线城市生存 #
5801次浏览 115人参与
# leader认为你工作不认真怎么办 #
32262次浏览 151人参与
# 如果可以,你希望哪个公司来捞你 #
105145次浏览 513人参与
# 如果公司降薪,你会跳槽吗? #
80241次浏览 589人参与
# 妈妈治愈了你哪些脆皮时刻 #
29513次浏览 321人参与
# 如果公司给你放一天假,你会怎么度过? #
17815次浏览 129人参与