golang面试分析

AFa123 · · 3207 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang面试分析

1.    golang语言基础... 1

1.1.    说一下make和new,是不是使用new的话,内存就一定分配在堆上... 1

1.2.    CSP并发模型... 1

1.3.    MVC模型... 1

1.4.    defer原理... 1

1.5.    怎么理解go的interface. 1

1.6.    interface底层实现... 1

1.7.    goroutine与线程的区别... 1

1.8.    goroutine调度原理... 1

1.9.    gc原理... 2

1.10.  go什么情况下会发生goroutine泄漏... 2

1.11.  pprof使用与内存泄漏... 2

1.12.  select实现机制... 2

1.13.  golang的channel与共享内存... 2

1.14.  channel底层原理... 2

1.15.  互斥锁、读写锁,原子使用场景,底层原理    2

1.16.  worker池中的worker如果发生异常,导致可用的worker越来越少,怎么解决... 2

2.    网络协议... 2

2.1.    HTTP. 2

2.1.1.    http get跟head. 2

2.1.2.    http 常用状态码说明... 2

2.1.3.    http keep-alive. 2

2.1.4.    http能不能一次连接多次请求,不等后端返回... 2

2.1.5.    cookie和session. 2

2.1.6.    一次HTTP请求的全过程,包括域名解析、定位主机等... 2

2.1.7.    http1, http1.1, http2区别... 2

2.2.    TCP/IP. 2

2.2.1.    tcp与udp区别,udp优点,适用场景    2

2.2.2.    tcp三次握手... 3

2.3.    计算机网络OSI7层模型(TCP4层)每层的协议... 3

3.    数据库... 3

3.1.    什么是主键... 3

3.2.    redis. 3

3.2.1.    Redis基本数据结构... 3

3.2.2.    redis容灾,备份,扩容... 3

3.2.3.    什么情况下考虑使用缓存 ,redix有多少种缓存策略,简述redis分片... 3

3.2.4.    缓存框架,例如Redis、Memcached之间的区别,优劣势比较... 3

3.3.    mysql 3

3.3.1.    Mysql的索引有几种... 3

3.3.2.    mysql高可用的方案... 3

3.3.3.    MySQL事务是什么?四大特性,四大隔离级别... 3

3.3.4.    分库分表,主从复制,读写分离。    3

3.3.5.    InnoDb是表锁还是行锁... 3

3.3.6.    建立索引要注意什么... 3

3.3.7.    慢查询... 3

3.3.8.    SQL慢查询的优化方案... 3

3.3.9.    索引和表的优化方案... 3

3.3.10.   MySQL与MongoDB的区别,海量数据的存储... 4

3.3.11.   数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)... 4

3.3.12.   Nosql与KV存储(redis,hbase,mongodb,memcached等)... 4

4.    分布式... 4

4.1.    缓存淘汰算法与实现... 4

4.2.    请描述一致hash算法... 4

4.3.    CAP原理和BASE理论... 4

4.4.    分布式存储系统(GFS、HDFS、fastDFS) 存储模型(skipList、LSM等)... 4

4.5.    分布式事务、分布式锁... 4

4.6.    consul etcd区别... 4

4.7.    lvs与nginx区别... 4

4.8.    lvs负载均衡原理... 4

4.9.    冥等操作... 4

5.    项目介绍... 4

5.1.    项目背景... 4

5.2.    技术框架... 4

5.3.    自己负责的模块... 4

6.    浮动主题... 4

 

 

image

  1. golang语言基础

1.1. 说一下make和new,是不是使用new的话,内存就一定分配在堆上

1.2. CSP并发模型

1.3. MVC模型

1.4. defer原理

1.5. 怎么理解go的interface

1.6. interface底层实现

1.7. goroutine与线程的区别

1.8. goroutine调度原理

1.9. gc原理

1.10. go什么情况下会发生goroutine泄漏

1.11. pprof使用与内存泄漏

1.12. select实现机制

1.13. golang的channel与共享内存

1.14. channel底层原理

1.15. 互斥锁、读写锁,原子使用场景,底层原理

1.16. worker池中的worker如果发生异常,导致可用的worker越来越少,怎么解决

  1. 网络协议

2.1. HTTP

2.1.1. http get跟head

2.1.2. http 常用状态码说明

2.1.3. http keep-alive

2.1.4. http能不能一次连接多次请求,不等后端返回

2.1.5. cookie和session

2.1.6. 一次HTTP请求的全过程,包括域名解析、定位主机等

2.1.7. http1, http1.1, http2区别

2.2. TCP/IP

2.2.1. tcp与udp区别,udp优点,适用场景

2.2.2. tcp三次握手

2.3. 计算机网络OSI7层模型(TCP4层)每层的协议

  1. 数据库

3.1. 什么是主键

3.2. redis

3.2.1. Redis基本数据结构

3.2.2. redis容灾,备份,扩容

3.2.3. 什么情况下考虑使用缓存 ,redix有多少种缓存策略,简述redis分片

3.2.4. 缓存框架,例如Redis、Memcached之间的区别,优劣势比较

3.3. mysql

3.3.1. Mysql的索引有几种

3.3.2. mysql高可用的方案

3.3.3. MySQL事务是什么?四大特性,四大隔离级别

3.3.4. 分库分表,主从复制,读写分离。

3.3.5. InnoDb是表锁还是行锁

3.3.6. 建立索引要注意什么

3.3.7. 慢查询

3.3.8. SQL慢查询的优化方案

3.3.9. 索引和表的优化方案

3.3.10. MySQL与MongoDB的区别,海量数据的存储

3.3.11. 数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)

3.3.12. Nosql与KV存储(redis,hbase,mongodb,memcached等)

  1. 分布式

4.1. 缓存淘汰算法与实现

4.2. 请描述一致hash算法

4.3. CAP原理和BASE理论

4.4. 分布式存储系统(GFS、HDFS、fastDFS) 存储模型(skipList、LSM等)

4.5. 分布式事务、分布式锁

4.6. consul etcd区别

4.7. lvs与nginx区别

4.8. lvs负载均衡原理

4.9. 冥等操作

  1. 项目介绍

5.1. 项目背景

5.2. 技术框架

5.3. 自己负责的模块

  1. 浮动主题
 
 

 

 


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3207 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传