go golang 笔试题 面试题 笔试 面试
2017-09-17 21:22
295 查看
go golang 笔试题 面试题 笔试 面试
发现go的笔试题目和面试题目还都是比较少的,于是乎就打算最近总结一下。虽然都不难,但是如果没有准备猛地遇到了还是挺容易踩坑的。
就是几个简单的笔试题目,也可能面试的时候直接给看让说结果。
1, 用不同的goroutine去操作map的时候会存在线程同步的问题,把map换成int ,这个问题同样存在。在go里是这样。2,下面这段代码输出的值为:
func (){ jsonStr:=[]byte(`{"age":1}`) var value map[string]interface{} json.Unmarshal(jsonStr,&value) age:=value["age"] fmt.Println(reflect.TypeOf(age)) //float64 }
3,下边代码是否有问题,问题在哪里
import ( "sync" "fmt" ) type UserAges struct { ages map[string] int sync.Mutex } func (u *UserAges)Add(name string,age int) { u.Lock() defer u.Unlock() u.ages[name] = age } func (u *UserAges)Get(name string)int{ if age,ok:=u.ages[name];ok{ return age } return -1 }
问题在于,ages没有暴露背外部的包,导致调用者无法初始化ages。然后在调用add函数时,就会报错。考察函数的作用域问题。
4,下边代码的输出结果是什么?
func TestArrayAndSlice(){ s1:=[]int{1,2,3} s2:=s1[1:] for i:=range s2{ s2[i]+=10 } fmt.Println(s2) s2=append(s2, 4) for i:=range s2{ s2[i]+=10 } fmt.Println(s2) }
输出结果如下:这个是在考察数组和切片用s2截取s1的下边为1及之后;而后执行操作。
[12 13][22 23 14]
5,下边代码输出什么
```go
func TestDoit(){
doit:= func(arg int) interface{}{
var result *struct{}=nil
if (arg>0) { result = &struct{}{} } return result } //输出结果。 //-1:result: <nil> 为空的匿名结构体 //1://result: &{} 匿名结构体的地址 if res:=doit(1);res!=nil{ fmt.Println("result:",res) }
}
```
6,下边代码的输出结果是什么
//放在main里边 //指定只能用一个逻辑处理器,方便看调度顺序。 runtime.GOMAXPROCS(1) wg:=sync.WaitGroup{} wg.Add(20) for i:=0;i<10 ;i++ { go func() { fmt.Println("i",i) wg.Done() }() } for i:=0;i<10 ;i++ { go func(i int) { fmt.Println("j",i) wg.Done() }(i) } wg.Wait() /* j 9 i 10 i 10 i 10 i 10 i 10 i 10 i 10 i 10 i 10 i 10 j 0 j 1 j 2 j 3 j 4 j 5 j 6 j 7 j 8 */
这个要注意,第一个for里没有传参数,第二个传参数了。所以第一个for里启动的goroutine用的i其实是主线程里的i;之所以都是10,(也有可能前面几个<10);是因为调用i的时候,i在主线程内已经加到10了。而第二个for里的i是通过参数传递,所以会打印0~9;
至于为什么会先打印J,9;希望有大神来回答下。
暂时先写这么多,回头再接着加。
转载注明出处--名白
http://www.cnblogs.com/mingbai/p/go-golangCodingTest.html相关文章推荐
- 面试题——C/C++经典问题,及面试笔试题
- C/C++笔试、面试题目大汇总 Visual C++常见面试题 王牌7
- 我面试时遇到的面试题和笔试题
- 面试题——C/C++经典问题,及面试笔试题
- 【面试笔试-php】某公司php方向面试题总结。
- C/C++ 笔试面试(3)——内存管理GetMemory 确实遇到的面试题
- 【笔试面试题】腾讯2013实习生面试算法题及参考答案
- 面试题——C/C++经典问题,及面试笔试题
- 2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)
- 【笔试or面试】笔试题、面试题和平时小知识点的积累
- 转:迅雷亲历面经:笔试+上机+面试(完整JAVA面试题求解大讨论)
- 2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)
- android面试笔试常见面试题
- 【笔试面试题】腾讯2013实习生面试算法题及参考答案
- 【笔试面试题】腾讯2013实习生面试算法题及参考答案
- 转:迅雷亲历面经:笔试+上机+面试(完整JAVA面试题求解大讨论)
- [面试] 各大IT公司校园招聘程序猿笔试、面试题集锦
- 【Java面试题】27 多线程笔试面试概念问答
- 【逻辑思考】我们到底该不该在网上公开面试过的公司的笔试题或面试题?
- 今天面试笔试了一道SQL面试题,狠简单