持续补充自己缺失的知识点,保证面试不怂。


MySQL

Redis

Nginx

ElasticSearch

Kafka

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package main

import "fmt"

func main() {
	s := []int{2, 3, 5, 7, 11, 13}
	printSlice(s) // len=6 cap=6 [2, 3, 5, 7, 11, 13]

	// Slice the slice to give it zero length.
	s = s[:0]
	printSlice(s) // len=0 cap=6 []

	// Extend its length.
	s = s[:4]
	printSlice(s) // len=4 cap=6 [2,3,5,7]

	// Drop its first two values.
	s = s[2:]
	printSlice(s) // len=2 cap=4 [5,7]

	ss := []int{2, 3, 5, 7, 11, 13}
	s = ss[2:3]
	printSlice(s) // len=1 cap=4 [5]
	s[0] = 20
	printSlice(ss) //  len=6 cap=6 [2,3,20,7,11,13]
	s = append(s, 15, 17, 19)
	printSlice(s)  // len=4 cap=4 [20,15,17,19]
	printSlice(ss) // len=6 cap=6 [2,3,20,15,17,19]
}

func printSlice(s []int) {
	fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s)
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main

import (
	"fmt"
	"sync"
)

func m1() {
	var a []int
	wg := sync.WaitGroup{}
	for i := 0; i < 10000; i++ {
		wg.Add(1)
		go func(i int) {
			a = append(a, i)
			wg.Done()
		}(i)
	}
	wg.Wait()
	fmt.Println(len(a))
}

func m2() {
	var a []int
	wg := sync.WaitGroup{}
	for i := 0; i < 10000; i++ {
		wg.Add(1)
		go func(i int, b []int) {
			b = append(b, i)
			wg.Done()
		}(i, a)
	}
	wg.Wait()
	fmt.Println(len(a))
}

func main() {
	m1()
	m2()
}

网络

微服务

开放题

其他