golang 不知名小厂面经(凉

1.map不安全,你要怎么解决 只能用go

我说用redis 和sync.map 加锁 他说不太行...

--------------------------------------------------------------------

用golang的读写锁

用channel 把消息发给 channel 让channel执行

2.这段代码哪里有错

在 Go 中,如果从一个已关闭的通道读取值,通道会立即返回其零值,并且不会造成阻塞。因此,即使通道没有值了,你仍然可以尝试从通道读取数据,但读取的值将会是通道元素类型的零值。

close 位置错了

close(ch)放到生产者后面

如何交替打印

用channel切片 不能用数组 因为会竞争

当多个协程同时访问数组的不同位置时,通常情况下是安全的,但需要注意确保数组索引在有效范围内,并采取适当的措施来避免并发访问导致的问题。

3.linux查看所有资源使用情况的命令

挺逆天的

  1. top:top 命令用于实时查看系统资源使用情况,包括 CPU、内存、进程等。它以交互式的方式显示信息,并且可以动态地刷新。
  2. htop:htop 是 top 的增强版,提供了更多的功能和信息显示,包括更友好的界面、可定制性更强等。
  3. ps:ps 命令用于显示当前系统进程的信息,可以查看进程的 PID、状态、CPU 使用情况等。常见的参数包括 -aux、-ef 等。
  4. free:free 命令用于显示系统内存使用情况,包括总内存、已使用内存、空闲内存等。
  5. df:df 命令用于显示磁盘空间使用情况,可以查看文件系统的挂载点、总空间、已用空间、剩余空间等信息。
  6. du:du 命令用于显示目录或文件的磁盘使用情况,可以查看指定目录或文件的大小。
  7. netstat:netstat 命令用于显示网络状态和统计信息,包括网络连接、路由表、接口统计等。
  8. ifconfig/ip:ifconfig(在新版本中被 ip 替代)命令用于显示网络接口的配置信息,包括 IP 地址、子网掩码、网关等。
  9. iotop:iotop 命令用于实时监视磁盘 I/O 使用情况,可以查看哪些进程在进行磁盘读写操作。
  10. vmstat:vmstat 命令用于显示系统的虚拟内存统计信息,包括内存、磁盘、CPU 等方面的使用情况。
全部评论
佬,方便问一下是哪个厂嘛
1 回复 分享
发布于 2024-05-22 09:50 山东
就问了三个问题?
1 回复 分享
发布于 2024-06-09 20:54 湖北
我觉得你说的第二个问题,close可以用defer,然后那十个存入通道的值0-9,假设到了0,if !ok的话,那么这个0,他就直接return了,后面应该打印的,也不再打印了,我不知道我说的对不对,但我认为你这个分析不太完全
1 回复 分享
发布于 2024-07-12 14:10 天津
用大神们的第三方mao就行了
点赞 回复 分享
发布于 2024-06-03 08:50 北京
sync.map不就是读写+分段吗
点赞 回复 分享
发布于 2024-07-17 09:42 北京
第二个close关键问题是会panic吧,往关闭chan写
点赞 回复 分享
发布于 2024-07-17 09:44 北京

相关推荐

评论
9
41
分享

创作者周榜

更多
牛客网
牛客企业服务