golang 不知名小厂面经(凉
1.map不安全,你要怎么解决 只能用go
我说用redis 和sync.map 加锁 他说不太行...
--------------------------------------------------------------------
用golang的读写锁
用channel 把消息发给 channel 让channel执行
2.这段代码哪里有错
在 Go 中,如果从一个已关闭的通道读取值,通道会立即返回其零值,并且不会造成阻塞。因此,即使通道没有值了,你仍然可以尝试从通道读取数据,但读取的值将会是通道元素类型的零值。
close 位置错了
close(ch)放到生产者后面
如何交替打印
用channel切片 不能用数组 因为会竞争
当多个协程同时访问数组的不同位置时,通常情况下是安全的,但需要注意确保数组索引在有效范围内,并采取适当的措施来避免并发访问导致的问题。
3.linux查看所有资源使用情况的命令
挺逆天的
- top:top 命令用于实时查看系统资源使用情况,包括 CPU、内存、进程等。它以交互式的方式显示信息,并且可以动态地刷新。
- htop:htop 是 top 的增强版,提供了更多的功能和信息显示,包括更友好的界面、可定制性更强等。
- ps:ps 命令用于显示当前系统进程的信息,可以查看进程的 PID、状态、CPU 使用情况等。常见的参数包括 -aux、-ef 等。
- free:free 命令用于显示系统内存使用情况,包括总内存、已使用内存、空闲内存等。
- df:df 命令用于显示磁盘空间使用情况,可以查看文件系统的挂载点、总空间、已用空间、剩余空间等信息。
- du:du 命令用于显示目录或文件的磁盘使用情况,可以查看指定目录或文件的大小。
- netstat:netstat 命令用于显示网络状态和统计信息,包括网络连接、路由表、接口统计等。
- ifconfig/ip:ifconfig(在新版本中被 ip 替代)命令用于显示网络接口的配置信息,包括 IP 地址、子网掩码、网关等。
- iotop:iotop 命令用于实时监视磁盘 I/O 使用情况,可以查看哪些进程在进行磁盘读写操作。
- vmstat:vmstat 命令用于显示系统的虚拟内存统计信息,包括内存、磁盘、CPU 等方面的使用情况。