社招offer-腾讯T9-70W年薪(面试经验分享)(上)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 社招offer-腾讯T9-70W年薪(面试经验分享)

作为一个程序员,不管是初入职场的菜鸟还是做开发多年的老鸟,都希望有机会能进大厂,最近有不少小伙伴问腾讯好不好进?需要的技术栈是怎么样的?本文就给大家普及一下腾讯后台开发各级工程师(T1-T9)需要具备哪些能力 ?

后端开发首先肯定要精通C++语言,也要熟悉操作系统、计算机网络、Linux网络编程、设计模式、数据库,还有个常见的数据结构与算法以及各种后端中间件。

很多有c/c++语言基础的朋友,在面试后台岗的时候都会有一个疑问,面试大厂的时候,技术水平要到一个什么程度才能进?

这里就分为校招和社招。校招的话对于技术层面的要求会相对较低。会C with STL以及常见的数据结构与算法,并且笔试能当场做出leetcode中等难度以下的人就有70分了,如果笔试的时候对STL、auto、lambda等用法都很熟练,都有加分。对于实习生来说,表现不错就可以招进来,剩下网络编程和linux进去之后会再教你。

所以校招更看重的是你的基础和学习能力。实习进去之后再观察你的技术学习进度决定是否给你发offer。当然,如果你能提前掌握Linux环境编程,网络编程等技术更会加分,毕竟不管是哪个赛道,内卷都是有的。



下图是腾讯后台开发技术栈总览,不同级别所需要具备的能力要求不一样,只有最高级的T9才是所有能力都需要具备的。

640.png

下面就详细介绍各职级需要具备的能力:

腾讯后台开发T1级

1、开发环境搭建、运行第一个hello word
2、运用基本的数据类型、表达式与操作符进行简单开发
3、字符串、向量和数组
4、语句和函数
5、分支控制、循环
6、mysql服务器的安装与配置
7、数据表的新建、查询和删除操作
8、tjetping/ifconfig/telnet等命令查看计算机网络状况
9、常用的文件、目录操作命令使用
10、程序的编译与运行

腾讯后台开发T2级——除T1级所需要具备的能力外,新增技术点:

1、对象生命周期&垃圾回收
2、错误和异常处理
3、标准库使用
4、初识数据结构和算法-冒泡排序
5、数组、列表、栈,队列等基本线性数据结构
6、递归、排序、二分查找算法
7、标准语言SQL和CURD能力
8、表、主键、索引、视图
9、网络体系中每一层的作用和基本协议
10、shell脚本与vi使用
11、linux系统性能监控命令的使用
12、利用socket编程编写简单客户/服务器程序

腾讯后台开发T3级——除T2级所需要具备的能力外,新增技术点:

1、日志分析、断点调试等简单代码调试方法
2、面向对象设计原则
3、跳表、散列表、hash算法
4、二叉树、红黑树
5、表结构设计规范
6、事务的使用以及其ACID特性
7、不同存储引擎的区别
8、TCP和UDP的基本原理
9、http协议基础与应用
10、线程、进程的概念、创建与调度
11、用户态和内核态的基本概念、区别
12、CPU的上下文切换、中断处理与系统调度
13、基本TCP/UDP套接字编程

腾讯后台开发T4级——除T3级所需要具备的能力外,新增技术点:

1、单例模式、工厂模式等简单的设计模式
2、堆排序、归并排序、二分查找等高阶算法
3、字符串匹配、KMP算法
4、事务的隔离级别和实践原理
5、数据库的连接池管理
6、数据库的权限管理
7、SQL注入、web shell攻击的危害和规避方法
8、TCP协议的可靠传输机制
9、TCP协议的流量控制和拥塞控制
10、磁盘文件系统、虚拟文件系统与文件缓存
11、物理内存和虚拟内存
12、五种常见I/O模型
13、Docker原理与搭建

腾讯后台开发T5级——除T4级所需要具备的能力外,新增技术点:

1、gdb高级调试技巧和常用系统分析工具使用
2、熟悉图论算法:dijkstra算法、最小生成树、深度优先搜索等
3、贪心算法、动态规划
4、数据库的集群和高可用
5、SQL语句优化、索引和参数调优
6、Session、Cookie 与 Application
7、网络安全的加密算法与数字签名
8、https协议的基本原理
9、进程间通信机制
10、死锁的危害、出现原因、解决方法
11、I/O多路复用技术
12、time_wait、close_wait状态产生的原因、危害与避免方法
13、熟练掌握各种I/O模型的运用场景
14、掌握C10k问题的基本解决方案
15、简单rpc协议设计和框架搭建
16、rpc的服务寻址、数据流的序列化与反序列化和网路传输
17、分布式事务的学习
18、一致性算法
19、分布式锁的设计与实现
20、主流的微服务rpc框架
21、Kubernetes

腾讯后台开发T6级——除T5级所需要具备的能力外,新增技术点:

1、适配器模式、代理模式等常见设计模式
2、能够分析算法的执行效率和资源消耗、时间和空间复杂度分析
3、运用Redis进行数据缓存处理,提高系统性能
4、http2.0与http3.0特性
5、XSS攻击的危害和规避方法
6、Wireshark、tcpdump等网络抓包工具使用和结果分析
7、网络故障分析与问题解决
8、内存溢出、内存泄漏的原因与解决
9、网络框架学习
10、服务注册、服务发现
11、容器编排、容器网络
12、集成构建

腾讯后台开发T7级——除T6级所需要具备的能力外,新增技术点:

1、创建型、结构型、行为型设计模式的应用技巧
2、能够根据实际场景,选用合适的数据结构和算法进行程序设计
3、redis内存模型
4、redis的持久化、主从同步以及集群
5、如何高效利用CPU缓存
6、内存问题分析与性能优化
7、磁盘 I/O 性能优化
8、分布式trace、监控告警
9、负载均衡
10、云上常见的SaaS服务和组件

腾讯后台开发T8级——除T7级所需要具备的能力外,新增技术点:

1、系统网络性能评估与优化

2、主流分布式系统架构设计,比如分布式缓存、API网关、分布式消息组件

3、分布式系统的缓存设计、缓存雪崩、缓存击穿等现象

4、弹性扩缩容

腾讯后台开发T9级——除T8级所需要具备的能力外,新增技术点:

1、代码耦合的产生原因和规避方法
2、容灾保护、降级熔断、流量控制、故障隔离、故障恢复
3、分布式架构的高并发、高可用、可扩展
4、服务网格Istio和Serverless
5、需求分析
6、项目设计方法
7、项目流程管理
8、项目风险控制
9、跨部门合作
10、沟通技巧
11、组织协调
12、目标管理

总结:腾讯开发工程师之间的评级是比较严格的,从T1-T4为初级工程师,T5-T8为中级工程师,T9为高级工程师,小伙伴们可以对照上述各职能等级自评一下自已处于哪个级别的工程师,对于想进腾讯的小伙伴也可以根据以上技术点查漏补缺,为以后更好的进军腾讯做准备。

还不熟悉的朋友,这里可以先领取一份Linux c/c++开发新手学习资料包(入坑不640.png亏):


【后端开发】

  1. 编程基本功扎实,掌握 C/C++/JAVA 等开发语言、常用算法和数据结构;
  2. 熟悉 TCP/UDP 网络协议及相关编程、进程间通讯编程;
  3. 了解 Python、Shell、Perl 等脚本语言;
  4. 了解 MYSQL 及 SQL 语言、编程,了解 NoSQL, key-value 存储原理;
  5. 全面、扎实的软件知识结构,掌握操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等专业知识;
  6. 了解分布式系统设计与开发、负载均衡技术,系统容灾设计,高可用系统等知识。

社招offer-腾讯T9-70W年薪

640.jpg

640.jpg

这里给大家推荐零声教育全网独家的【Linux C/C++开发】课程体系,通过原理技术+源码分析+案例分析+项目实战,全面解析Linux C/C++,8个上线项目,2W+行手写代码,全面解析:

Linux C/C++开发

1、精进基石专栏

(一)数据结构与算法

  • 随处可见的红黑树
  • 红黑树的应用场景进程调度cfs,内存管理
  • 红黑树的数学证明与推导
  • 手撕红黑树的左旋与右旋
  • 红黑树添加的实现与添加三种情况的证明
  • 红黑树删除的实现与删除四种情况的证明
  • 红黑树的线程安全的做法
  • 分析红黑树工程实用的特点
  • 磁盘存储链式的B树与B+树
  • 磁盘结构分析与数据存储原理
  • 多叉树的运用以及B树的定义证明
  • B树插入的两种分裂
  • B树删除的前后借位与节点合并
  • 手撕B树的插入,删除,遍历,查找
  • B+树的定义与实现
  • B+树叶子节点的前后指针
  • B+树的应用场景与实用特点
  • B+树的线程安全做法
  • 海量数据去重的abhloriter bitap
  • hash的原理与hash函数的实现
  • hash的应用场景
  • 分布式hash的实现原理
  • 海量数据去重布隆过滤器
  • 布隆过滤的数学推导与证明

(二)设计模式

  • 创建型设计模式
  • 单例模式
  • 策略模式
  • 观察者模式
  • 工厂方法模式与抽象工厂模式
  • 原型模式
  • 结构型设计模式
  • 适配器模式
  • 代理模式
  • 责任链模式
  • 状态模式
  • 桥接模式
  • 组合模式

(三)c++新特性

  • stI容器,智能指针,正则表达式
  • unordered_ _map
  • stl容器
  • hash的用法与原理
  • shared_ ptr,unique_ ptr
  • basic_ regex,sub_ match
  • 函数对象模板function, bind
  • 新特性的线程,协程,原子操作,lamda表达式
  • atomic的用法与原理
  • thread_ local 与condition_ var iable
  • 异常处理exception_ _ptr
  • 错误处理error _ category
  • coroutine的用法与原理

(四)Linux工程管理

  • Makefi le/ cmake/conf igure
  • Makefile的规则与make的工作原理
  • 单文件编译与多文件编译
  • Makefile的参数传递
  • 多目录文件夹递归编译与嵌套执行make
  • Makefile的通配符,伪目标,文件搜索
  • Makefile的操作函数与特殊语法
  • configure生成makefile的原则
  • cmake的写法
  • 分布式版本控制git
  • git的工作流程
  • 创建操作与基本操作
  • 分支管理,查看提交历史
  • git服务器搭建
  • Linux系统运行时参数命令
  • 进程间通信设施状态ipcs
  • Linux系统运行时长upt ime
  • CPU平均负载和磁盘活动iostat
  • 监控,收集和汇报系统活动sar
  • 监控多处理器使用情况mpstat
  • 监控进程的内存使用情况pmap
  • 系统管理员调优和基准测量工具nmon
  • 密切关注Linux系统glances
  • 查看系统调用strace
  • ftp服务器基本信息ftptop
  • 电量消耗和电源管理powertop
  • 监控mysq| 的线程和性能mytop
  • 系统运行参数分析htop/top/atop
  • Linux网络统计监控工具netstat
  • 显示和修改网络接口控制器ethtool
  • 网络数据包分析利刃tcpdump
  • 远程登陆服务的标准协议teInet
  • 获取实时网络统计信息iptraf
  • 显示主机上网络接口带宽使用情况iftop

2、高性能网络设计专栏

(一)网络编程异步网络库zvnet

  • 网络io与io多路复用select/poll/epoll
  • socket与文件描述符的关联
  • 多路复用select/poll
  • 代码实现LT/ET的区别
  • 事件驱动reactor的原理与实现
  • reactor针对业务实现的优点
  • poll封装send_ cb/recv_ _cb/ accept_ _cb
  • reactor多核实现
  • 跨平台(select/epoll/kqueue)的封装reactor
  • redis,memcached, nginx网 络组件
  • http服务器的实现
  • reactor sendbuffer与recvbuffer封装http协议
  • http协议格式
  • 有限状 态机fsm解析http
  • 其他协议websocket, tcp文件传输

(二)网络原理

  • 服务器百万并发实现(实操)
  • 同步处理与异步处理的数据差异
  • 网络io线程池异步处理
  • ulimit的fd的百万级别支持
  • sysctI. conf的rmem与wmem的调优
  • conntrack的原理分析
  • Posix API与网络协议栈
  • connect,listen, accept与三次握 手
  • listen参数backlog
  • syn泛洪的解决方案
  • close与四次挥手
  • 11个状态迁移
  • 大量close_ wait与time wait的原因与解决方案
  • tcp keepalive与 应用层心跳包
  • 拥塞控制与滑动窗口
  • UDP的可靠传输协议QUIC
  • udp的优缺点
  • udp高并发的设计方案
  • qq早期为什么选择udp作为通信协议
  • udp可靠传输原理
  • quic协议的设计原理
  • quic的开源方案quiche
  • kcp的设计方案与算法原理
  • 协程调度器实现与性能测试
  • 调度器的定义分析
  • 超时集合,就绪队列,io等待集合的实现
  • 协程调度的执行流程
  • 协程接口实现,异步流程实现
  • hook钩子的实现
  • 协程实现mysql请求
  • 协程多核方案分析
  • 协程性能测试

(三)自研框架:基于dpdk的用户态协议栈的实现(已开源)

  • 用户态协议栈设计实现
  • 用户态协议栈的存在场景与实现原理
  • netmap开源框架
  • eth协议,ip协议, udp协议实现
  • arp协议实现
  • icmp协议实现
  • 应用层posix api的具体实现
  • socket/bind/listen的实现
  • accept实现
  • recv/send的实现
  • 滑动窗口/慢启动讲解
  • 重传定时器,坚持定时器,time_ wait定时器,keepalive定时器
  • 手把手设计实现epoll
  • epoll数据结构封装与线程安全实现
  • 协议栈fd就绪回调实现
  • epoll接口实现
  • LT/ET的实现
  • 高性能异步io机制io_ _uring
  • 与epo1l媲美的io_ uring
  • io_ _uring系统调用io_ _uring_ setup, io_ _ur ing_ register, io_ _ur ing_ enter
  • liburng的io_ uring的关系
  • io_ uring与epoll性能对比
  • io_ _uring的共享内存机制
  • io_ uring的使用场景
  • io_ ur ing的accept, connect, recv, send实现机制
  • io_ uring网络读写
  • io_ uring磁盘读写
  • proactor的实现
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
41 4
|
1月前
|
算法 前端开发 Java
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
这篇文章总结了单链表的常见面试题,并提供了详细的问题分析、思路分析以及Java代码实现,包括求单链表中有效节点的个数、查找单链表中的倒数第k个节点、单链表的反转以及从尾到头打印单链表等题目。
31 1
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
|
17天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
51 1
|
2月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
29天前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
2月前
|
存储 移动开发 前端开发
「offer来了」面试中必考的15个html知识点
该文章汇总了前端面试中常见的15个HTML知识点,涵盖了从HTML文档的规范书写、doctype声明的作用到新兴的HTML5标签应用及移动端viewport设置等内容,旨在帮助求职者更好地准备相关技术面试。
「offer来了」面试中必考的15个html知识点
|
2月前
|
Web App开发 前端开发 JavaScript
「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!
该文章通过一张思维导图和六大知识板块系统梳理了前端面试中涉及的CSS核心知识点,包括CSS框架、基础样式问题、布局技巧、动画处理、浏览器兼容性及性能优化等方面的内容。
|
6月前
|
SQL 分布式计算 算法
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
|
4月前
|
Python
155. 最小栈 力扣 python 空间换时间 o(1) 腾讯面试题
155. 最小栈 力扣 python 空间换时间 o(1) 腾讯面试题
|
6月前
|
消息中间件 监控 Java
腾讯面试:如何提升Kafka吞吐量?
Kafka 是一个分布式流处理平台和消息系统,用于构建实时数据管道和流应用。它最初由 LinkedIn 开发,后来成为 Apache 软件基金会的顶级项目。 Kafka 特点是**高吞吐量、分布式架构、支持持久化、集群水平扩展和消费组消息消费**,具体来说: 1. **高吞吐量**:Kafka 具有高性能和低延迟的特性,能够处理大规模数据,并支持每秒数百万条消息的高吞吐量。 2. **分布式架构**:Kafka 采用分布式架构,可以水平扩展,多个节点之间能够实现负载均衡和高可用性。 3. **可持久化**:Kafka 将消息持久化到磁盘中,保证消息的可靠性,即使消费者下线或出现故障,消
92 0