首先来了段项目拷打
八股文
golang:
1,不同包的多个init函数的运行时机(答得不好 没看过这里)
2,init和main函数的执行顺序 (init函数在main函数开始前执行)
3,如何删除切片中的某一个元素 (就说了一个通过append(a[:2],a[3:]...))
4,sync.Map{}怎么使用 (使用Store存)
5,怎么控制去并发操作map(加锁)
6,go的读写锁怎么工作 (一大段支支吾吾后说了读写互斥)
7,如何保存程序崩溃时的数据 (不会,说了日志,在项目中聊到recover我就没想到这)
8,多个并发操作对map进行读写,程序会发生什么(给了两个选项,a:会继续执行 b:程序会崩溃,选了a,结果现在一查发现是b)
9,超时处理 (在网上查到用context.WithTimeout更好,我说的time.After)
10,对一个已经关闭的channel读写会发生什么 (如果不空的话,先读数据,空的话读对应类型的零值, 写的话会出现panic)
11,开五个协程 全部执行一个函数,怎么保证协程执行完全部打印(使用sync.WaitGroup )
linux:
1,怎么去查询某一行的数据 (grep)
2,怎么汇总url,统计每个url (不会)
3,怎么查找进程 (ps)
4,怎么查找有go语言的进程 (pgrep go)
mysql:
1,对abc建立联合索引,他们的顺序重要么(重要,应把使用频率高的放在前面)
总结一下吧,感觉其实问的很基础,现在发现自己基础好像有点差,这段时间恶补一下基础知识,太久不看忘了好多
#golang##网易#