2021-12-14 00:12:04
腾讯T1~T9级别工程师具备的专业能力及知识点总结
一、语言知识点
T1-T3:
开发环境搭建、运行第一个hello world。
运用基本数据类型、表达式与操作符进行简单开发。
掌握字符串、向量和数组的使用。
理解语句和函数的基本概念。
掌握分支控制、循环结构。
了解对象生命周期与垃圾回收机制。
掌握错误和异常处理方法。
熟练使用标准库。
掌握日志分析、断点调试等简单代码调试方法。
T4-T6:
深入理解面向对象设计原则。
掌握单例模式、工厂模式等简单设计模式。
熟练使用gdb高级调试技巧和常用系统分析工具。
掌握适配器模式、代理模式等常见设计模式。
能够应用创建型、结构型、行为型设计模式。
理解代码耦合的产生原因,并学会规避方法。
T7-T9:
精通各种设计模式的应用技巧。
能够设计并优化复杂系统的代码结构。
二、数据结构和算法
T1-T3:
初识数据结构和算法,掌握冒泡排序。
掌握数组、列表、栈、队列等基本线性数据结构。
理解递归、排序、二分查找算法。
T4-T6:
掌握跳表、散列表、hash算法。
理解二叉树、红黑树等数据结构。
掌握堆排序、归并排序、二分查找等高阶算法。
掌握字符串匹配、KMP算法。
熟悉图论算法,如dijkstra算法、最小生成树、深度优先搜索等。
T7-T9:
掌握贪心算法、动态规划等高级算法。
能够分析算法的执行效率和资源消耗,进行时间和空间复杂度分析。
能够根据实际场景,选用合适的数据结构和算法进行程序设计。
三、数据库
T1-T3:
掌握MySQL服务器的安装与配置。
掌握数据表的新建、查询和删除操作。
掌握标准语言SQL和CURD能力。
理解表、主键、索引、视图的概念。
T4-T6:
掌握表结构设计规范。
理解事务的使用以及其ACID特性。
了解不同存储引擎的区别。
掌握事务的隔离级别和实践原理。
掌握数据库的连接池管理。
T7-T9:
掌握数据库的权限管理。
了解SQL注入、web shell攻击的危害和规避方法。
掌握数据库的集群和高可用技术。
掌握SQL语句优化、索引和参数调优方法。
精通Redis的使用,包括内存模型、持久化、主从同步以及集群等。
四、网络原理
T1-T3:
掌握利用ping、ifconfig、telnet等命令查看计算机网络状况。
理解网络体系中每一层的作用和基本协议。
掌握TCP和UDP的基本原理。
理解http协议基础与应用。
T4-T6:
掌握TCP协议的可靠传输机制、流量控制和拥塞控制。
理解Session、Cookie与Application的概念。
掌握网络安全的加密算法与数字签名。
理解https协议的基本原理。
T7-T9:
掌握http2.0与http3.0特性。
了解XSS攻击的危害和规避方法。
熟练使用Wireshark、tcpdump等网络抓包工具进行结果分析。
掌握网络故障分析与问题解决的方法。
五、操作系统
T1-T3:
掌握常用的文件、目录操作命令使用。
掌握程序的编译与运行方法。
掌握shell脚本与vi的使用。
掌握linux系统性能监控命令的使用。
T4-T6:
理解线程、进程的概念、创建与调度。
掌握用户态和内核态的基本概念、区别。
理解CPU的上下文切换、中断处理与系统调度。
掌握磁盘文件系统、虚拟文件系统与文件缓存的概念。
T7-T9:
掌握物理内存和虚拟内存的概念。
理解进程间通信机制。
掌握死锁的危害、出现原因、解决方法。
掌握内存溢出、内存泄漏的原因与解决方法。
掌握如何高效利用CPU缓存、内存问题分析与性能优化、磁盘I/O性能优化、系统网络性能评估与优化等方法。
六、网络编程
T1-T3:
掌握利用socket编程编写简单客户/服务器程序。
掌握基本TCP/UDP套接字编程。
T4-T6:
掌握五种常见I/O模型。
掌握I/O多路复用技术。
理解time_wait、close_wait状态产生的原因、危害与避免方法。
T7-T9:
熟练掌握各种I/O模型的运用场景。
掌握C10k问题的基本解决方案。
掌握网络框架的学习与应用。
七、分布式架构
T1-T3:
了解简单rpc协议设计和框架搭建。
T4-T6:
掌握rpc的服务寻址、数据流的序列化与反序列化和网络传输。
掌握分布式事务的基本概念。
掌握一致性算法。
掌握分布式锁的设计与实现。
T7-T9:
掌握主流的微服务rpc框架。
掌握服务注册、服务发现技术。
掌握分布式trace、监控告警方法。
掌握负载均衡技术。
掌握主流分布式系统架构设计,如分布式缓存、API网关、分布式消息组件等。
掌握分布式系统的缓存设计,了解缓存雪崩、缓存击穿等现象。
掌握容灾保护、降级熔断、流量控制、故障隔离、故障恢复等技术。
深入理解分布式架构的高并发、高可用、可扩展性。
八、云原生
T4-T6:
掌握Docker原理与搭建方法。
掌握Kubernetes的基本概念与使用方法。
T7-T9:
掌握容器编排、容器网络技术。
掌握集成构建方法。
了解云上常见的SaaS服务和组件。
掌握弹性扩缩容技术。
掌握服务网格Istio和Serverless技术。
九、软技能
掌握需求分析、项目设计方法。
掌握项目流程管理、项目风险控制方法。
具备跨部门合作、沟通技巧。
具备组织协调、目标管理能力。
十、岗位定级
腾讯工程师的岗位定级主要基于以上知识点的掌握程度和应用能力。随着级别的提升,工程师需要掌握更高级的技术知识,具备更强的架构设计、系统优化和项目管理能力。同时,软技能的提升也是晋升的重要因素之一。

(注:以上图片为腾讯工程师岗位定级标准的示例图,具体定级标准可能因公司内部政策和实际情况而有所调整。)