美团基础架构部对象存储业务一面凉经

剑指offer-二叉树中和为某一值的路径
channel底层实现、如何实现并发安全
goroutine和线程的区别,为什么说goroutine轻量
defer关键字后的函数在什么时候调用 主函数return前还是return后
场景题:使用top命令观察一个主动malloc申请了1g内存的进程
tcp ip 三握四挥的过程
两次发包后是否可以发数据
半连接队列
#面经##美团##golang工程师#
全部评论
channel底层实现   :buf,sendx,recvx,lock, sendq , recvq ;  hchan 结构体 并发安全:CSP  channel 通信加锁 goroutine和线程的区别:goroutine 是建立在线程之上的轻量级的抽象,允许以非常低的代价在同一地址空间中并行地执行多个函数和方法。相比如线程,创建和销毁的代价更小,调度是独立于线程之外的。 为什么说goroutine轻量:1 创建Goroutine 通常只需要2kb 的内存,但是线程则需要1mb  2 . go 中创建和销毁都是自己管理的,而不是像操作系统申请资源,销毁再归还。3 GMP调度 defer关键字后的函数在什么时候调用 主函数return前还是return后: defer的执行顺序在return之后,但是在返回值返回给调用方之前,所以使用defer可以达到修改返回值的目的。 半连接队列:三次握手中 服务器收到syn 建立半连接队列???
7 回复 分享
发布于 2021-03-24 11:36
defer在return之前执行。返回值是写到临时产量中的。所以感觉是defer是在return。
点赞 回复 分享
发布于 2021-03-27 20:16
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2021-04-15 15:38

相关推荐

1 21 评论
分享
牛客网
牛客企业服务