diff --git "a/homework/\345\237\272\347\241\200\351\230\266\346\256\265\346\265\213\350\257\225/GO11104+\346\267\261\345\234\263+\345\260\217\345\271\263\345\217\260.md" "b/homework/\345\237\272\347\241\200\351\230\266\346\256\265\346\265\213\350\257\225/GO11104+\346\267\261\345\234\263+\345\260\217\345\271\263\345\217\260.md"
new file mode 100644
index 0000000000000000000000000000000000000000..33050283e49ed0f2cf1199141be2be89b344368c
--- /dev/null
+++ "b/homework/\345\237\272\347\241\200\351\230\266\346\256\265\346\265\213\350\257\225/GO11104+\346\267\261\345\234\263+\345\260\217\345\271\263\345\217\260.md"
@@ -0,0 +1,210 @@
+# GO11104+深圳+小平台
+
+**不定项选择题:**
+
+1、AD
+
+2、ABC
+
+3、BCD
+
+4、AC
+
+5、ABCD
+
+6、D
+
+7、ABD
+
+8、A
+
+9、BD
+
+10、BC
+
+**判断题**
+
+1、 √
+
+2、√
+
+3、√
+
+4、√
+
+5、x
+
+6、√
+
+7、x
+
+
+
+
+
+# golang基础阶段测试
+
+## 选择题(不定选项)
+
+1、定义一个包内全局字符串变量,下面语法正确的是()**AD** import里面
+
+A. var str string
+
+B. str := "" 函数内部使用声明+定义
+
+C. str = "" 函数内使用赋值
+
+D. var str = ""
+
+
+
+2、关于接口和类的说法,下面说法正确的是 ()**ABC**
+
+A. **一个类**只需要**实现**了**接口**要求的**所有函数**,我们就说**这个类实现了该接口**
+
+B. **实现类**的时候,只需要关心自己应该提供哪些**方法**,不用再纠结**接口**需要拆得多细才合理
+
+C. 类实现接口时,需要**导入接口所在的包** 相当于引用接口
+
+D. 接口由使用方按自身需求来定义,使用方无需关心是否有其他模块定义过类似的接口 要解耦
+
+
+
+3、关于整型切片的初始化,下面正确的是 ()**BCD**
+
+A. s := make([]int) 由于整型切片初始化为0,那么初始化长度不能为空
+
+B. s := make([]int, 0)
+
+C. s := make([]int, 5, 10)
+
+D. s := []int{1, 2, 3, 4, 5}
+
+
+
+4、关心接口,下面说法正确的是 ()**AC**
+
+A. 只要两个接口拥有相同的方法列表(次序不同不要紧),那么它们就是等价的,可以相互赋值
+
+B. 如果接口A的方法列表是接口B的方法列表的子集,那么接口B可以赋值给接口A 反了
+
+C. 接口查询是否成功,要在运行期才能够确定
+
+D. 接口赋值是否可行,要在运行期才能够确定 debug
+
+
+
+5、关于channel的特性,下面说法正确的是()**ABCD**
+
+A. 给一个 nil channel 发送数据,造成永远阻塞
+
+B. 从一个 nil channel 接收数据,造成永久阻塞
+
+C. 给一个已经关闭的 channel 发送数据,引起 panic
+
+D. 从一个已经关闭的 channel 接收数据,如果缓冲区中为空,则返回一个零值
+
+
+
+6、关于无缓冲和有冲突的channel,下面说法正确的是()**D**
+
+A. 无缓冲的channel是默认的缓冲为1的channel 0
+
+B. 无缓冲的channel和有缓冲的channel都是同步的
+
+C. 无缓冲的channel和有缓冲的channel都是非同步的
+
+D. 无缓冲的channel是同步的,而有缓冲的channel是非同步的 此句与前面都对立
+
+
+
+7、cap函数可以用于下列类型中的()**ABD**
+
+A. array
+
+B. slice
+
+C. map KV对没有容量可言,离散。
+
+D. channel
+
+
+
+8、关于map,下面说法正确的是()**A**
+
+A. map反序列化时json.unmarshal的入参必须为map的地址 字符串(地址)->json->字典
+
+B. 在函数调用中传递map,则子函数中对map元素的增加不会导致父函数中map的修改
+
+C. 在函数调用中传递map,则子函数中对map元素的修改不会导致父函数中map的修改 得看扩展和引用的情况
+
+D. 不能使用内置函数delete删除map的元素 delete会对map内存结构删除,也就是删除的是地址,不是元素
+
+
+
+9、下面赋值正确的是()**BD** nil智能赋值给指针、chan、func、interface、map或slice类型的变量。也就是引用类型的变量
+
+A. var x = nil
+
+B. var x interface{} = nil
+
+C. var x string = nil 字符串不能在声明时赋值空
+
+D. var x error = nil
+
+
+
+10、golang中的**引用类型**包括()**BC** **指针、slice、map和函数、channel**,其中slice、map和channel能够申请内存和初始化相关属性
+
+A. 数组切片 数组无法重新申请内存,因为长度固定
+
+B. map
+
+C. channel
+
+D. interface 接口方法固定,接口没有类型的引用
+
+
+
+
+
+## 判断题
+
+1、import后面的最后一个元素是包名() **对,包名特征**
+
+2、结构体在序列化时非导出变量(以小写字母开头的变量名)不会被encode,因此在decode时这些非导出变量的值为其类型的零值()**对**
+
+3、golang虽然没有显式的提供继承语法,但是通过匿名组合实现了继承()**对**
+
+4、可以给任意类型添加相应的方法()**对,这个是go语言的特色,形式多变**
+
+5、函数执行时,如果由于panic导致了异常,则延迟函数不会执行()**错,都设置defer 后的函数延迟执行,就不会管panic出现异常的情况了。**
+
+6、interface{}是可以指向任意对象的Any类型()**对,是go语言给与的**
+
+7、内置函数delete可以删除数组切片内的元素()**错,只会导致内存地址被删除而找不到元素**
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+