华为的编程基础能力要求大纲
- 编程能力(通用算法及数据结构)
- 基础数据结构概念,基本操作,及其优缺点
- 字符串操作(标准库,解析,匹配等)
- 线性表(数组,动态数组)
- 队列
- 栈
- 链表
- 哈希表
- 高级数据结构概念,基本操作,及其优缺点
- 二叉查找树,平衡树
- 堆,二叉堆
- 图论(无向图,有向图基本知识)
- 常用算法及思想
- 排序算法
- 迭代,递归思想
- 分治思想
- 搜索算法
- [[ 深度优先遍历 ]]
- [[ 广度优先遍历 ]]
- 贪心算法
-
[[ 动态规划 ]]
- 安全规范理解与应用
- 通用规范理解与应用(以Go为例)
- go语言编程知识文档汇总
- 基本语言特性
- 程序结构
- 命名,声明,短生声明,变量,赋值,类型转换和自动推导,作用域
- 表达式与运算符
- 算数运算符,比较运算符,逻辑运算符,地址操作符,接收操作符
- 控制语句
- if-else,switch与fallthrough,for,break,continue,goto,select
- 数据类型
- 基础数据类型和复合数据类型的初始化、长度、容量、扩缩容,结构体的嵌入和匿名成员
- 函数与方法
- 函数的声明,匿名函数,闭包,多返回值,变长参数,defer,指针/值对象的方法,内置函数的正确使用
- 接口
- 错误处理
- 标准库
- 输入输出,strings,net,os,sync,time
- 代码设计
- 平行与并发
- goroutine正确使用,channel上数据的发送和读取,select多路复用
- 包和文件
- 包和文件的设计、组织,包的导入,包路径规范
- gomod
- 基础工程能力
- 常用工具
- build,test,lint,fmt,vet,pprof的使用
- 高级语言特性
- runtime
- 内存管理,垃圾收集,逃逸分析,协程调度,profile,race detector
- 底层编码
- 反射
- 工具
- race detector,trace,pprof,debug
- 可信设计与重构
- 安全可信基础
- 开源及第三方组件使用能力
- 现代软件工程
- 现代软件工程资料汇总
- 软件工程与软件过程
- 敏捷宣言、敏捷关键实践、Scrum方法
- 需求和需求工程
- 软件设计
- 软件测试(开发者测试、产品测试、用户测试)
- 软件维护
- 项目管理过程及方法(项目四算、项目计划、变更管理、风险管理、质量管理)
- Devops
- 编译构建知识与应用
- 调试与定位能力
- 配置管理基础能力
- 开发者测试
反向链接: