go 面试题总结
1.什么是goroutine,他与process, thread有什么区别?
2. 什么是channel,为什么它可以做到线程安全?
3. 了解读写锁吗,原理是什么样的,为什么可以做到?
4. 如何用channel实现一个令牌桶?
5. 如何调试一个go程序?
6. 如何写单元测试和基准测试?
7. goroutine 的调度是怎样的?
8. golang 的内存回收是如何做到的?
9. cap和len分别获取的是什么?
10. netgo,cgo有什么区别?
11. 什么是interface?
- uint不能直接相减,结果是负数会变成一个很大的uint,这点对动态语言出身的会可能坑。
- channel一定记得close。
- goroutine记得return或者中断,不然容易造成goroutine占用大量CPU。
- 从slice创建slice的时候,注意原slice的操作可能导致底层数组变化。
- 如果你要创建一个很长的slice,尽量创建成一个slice里存引用,这样可以分批释放,避免gc在低配机器上stop the world
面试的时候尽量了解协程,线程,进程的区别。
明白channel是通过注册相关goroutine id实现消息通知的。
slice底层是数组,保存了len,capacity和对数组的引用。
如果了解协程的模型,就知道所谓抢占式goroutine调用是什么意思。
尽量了解互斥锁,读写锁,死锁等一些数据竞争的概念,debug的时候可能会有用。
尽量了解golang的内存模型,知道多小才是小对象,为什么小对象多了会造成gc压力。
https://blog.csdn.net/weiyuefei/article/details/77963810
https://blog.csdn.net/u010824081/article/details/78181518
https://blog.csdn.net/yuanqwe123/article/details/81737180
https://blog.csdn.net/Charliewolf/article/details/82720886
100题:
https://blog.csdn.net/itcastcpp/article/details/80462619
https://blog.csdn.net/qq_36431213/article/details/80686436
https://blog.csdn.net/weiyuefei/article/details/78851624
https://blog.csdn.net/smile_YangYue/article/details/81076993
https://blog.csdn.net/fengxiaozhuzhu/article/details/80920282
https://blog.csdn.net/qq_28163175/article/details/75287877
go 面试题总结的更多相关文章
- .NET面试题系列[8] - 泛型
“可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用.“ - Jon Skeet .NET面试题系列目录 .NET面试题系列[1] - .NET框架基础知识(1) .NET面试题系列[2] ...
- 关于面试题 Array.indexof() 方法的实现及思考
这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公 ...
- 对Thoughtworks的有趣笔试题实践
记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...
- 从阿里巴巴笔试题看Java加载顺序
一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...
- JAVA面试题
在这里我将收录我面试过程中遇到的一些好玩的面试题目 第一个面试题:ABC问题,有三个线程,工作的内容分别是打印出"A""B""C",需要做的 ...
- C++常考面试题汇总
c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...
- .NET面试题系列[4] - C# 基础知识(2)
2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是 ...
- 我们公司的ASP.NET 笔试题,你觉得难度如何
本套试题共8个题,主要考察C#面向对象基础,SQL和ASP.NET MVC基础知识. 第1-3题会使用到一个枚举类,其定义如下: public enum QuestionType { Text = , ...
- 我设计的ASP.NET笔试题,你会多少呢
本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...
- 猫哥网络编程系列:详解 BAT 面试题
从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...
随机推荐
- Object C学习笔记5-ARC forbids explicit message* 编译错误
在学习Object C的过程中XCode 编译器经常出现 "ARC forbids explicit message send of release" 的错误提示. 以上问题主要出 ...
- html5 初试 indexedDB
indexedDB是存储大量结构化数据的API,demo中用到的是异步API,麻烦的就是所有对indexedDB的操作都会发生一个异步的‘请求’,只要熟悉了API操作起来也很简单. http://ww ...
- python自编程序实现——robert算子、sobel算子、Laplace算子进行图像边缘提取
实现思路: 1,将传进来的图片矩阵用算子进行卷积求和(卷积和取绝对值) 2,用新的矩阵(与原图一样大小)去接收每次的卷积和的值 3,卷积图片所有的像素点后,把新的矩阵数据类型转化为uint8 注意: ...
- MATLAB复制图片时边框大的问题
当使用MATLAB画图时,需要将图片复制到word中,会发现图片有一个白色的边框,在论文的排版中是一个影响美观的问题 例如: >> x = 0:10; >> y = sin(x ...
- Windows下用HackRF和SDR#收听FM
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 HackRF链接:https://item.taobao.com/item.htm?spm=a1z10.1- ...
- 高可用OpenStack(Queen版)集群-8.Horizon集群
参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...
- hadoop之定制自己的Partitioner
partitioner负责shuffle过程的分组部分,目的是让map出来的数据均匀分布在reducer上,当然,如果我们不需要数据均匀,那么这个时候可以自己定制符合要求的partitioner. 下 ...
- OO学习第二阶段总结
面向对象课程的第二个阶段结束了,作业们由简单的玩具模式步入到复杂的多线程地狱模式,由之前的算法简单实现有坑转变成算法复杂实现有很大的坑.一个最重要的心得就是一定要在动手敲代码实现之前对整个程序的实现做 ...
- 《Spring2之站立会议7》
<Spring2之站立会议7> 昨天,查相关资料解决debug:: 今天,解决了debug: 遇到问题,一些问题是得到解决了,但是一些还未被解决.
- 人and绩效and职业道德
人行走在这个世界上 避免不了的是各种悲哀 人就像是一个茶几 上面放满了各种杯具 而要做的是要么把杯具打碎了咽下去,要么被杯具打晕 本布衣 躬耕于南阳 不求闻达于诸侯 每个人都可以选择自己的生活方式 或 ...