建议学golang或python吧, 这了整理了一份超全golang面试题合集+golang学习指南+golang知识图谱+成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识。如果是小白,可以考虑通过里面的视频教程学习。


后续文章和内容会不断更新到 中,欢迎关注。

目录(善用Ctrl+F)

  • 基础入门
    • 新手

    • 数据类型
      • map不初始化使用会怎么样
      • map不初始化长度和初始化长度的区别
      • map承载多大,大了怎么办
      • map的iterator是否安全?能不能一边delete一边遍历?
      • 字符串不能改,那转成数组能改吗,怎么改
      • 怎么判断一个数组是否已经排序
      • 普通map如何不用锁解决协程安全问题
      • array和slice的区别
      • 零切片、空切片、nil切片是什么
      • slice深拷贝和浅拷贝
      • map触发扩容的时机,满足什么条件时扩容?
      • map扩容策略是什么
      • 自定义类型切片转字节切片和字节切片转回自动以类型切片
      • make和new什么区别
      • slice ,map,chanel创建的时候的几个参数什么含义
      • 线程安全的map怎么实现
    • 流程控制

  • 进阶
    • 包管理

    • 优化
      • 内存碎片化问题
      • chan相关的goroutine泄露的问题
      • string相关的goroutine泄露的问题
      • sync.Pool的适用场景
      • go1.13sync.Pool对比go1.12版本优化点
    • 并发编程
      • sync.map 的优缺点和使用场景
      • sync.Map的优化点


var _ io.Writer = (*myWriter)(nil)
    • 源码阅读
      • net/http
      • main函数背后的启动过程

    • 汇编


    • 实践常用工具