设为首页
收藏本站
切换到窄版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
C语言
C++
NET
JAVA
PHP
易语言
数据库
IE盒子
»
论坛
›
IE盒子
›
C++
›
C/C++后台开发要学到什么程度才可以面试大厂? ...
返回列表
发帖
查看:
147
|
回复:
0
C/C++后台开发要学到什么程度才可以面试大厂?
[复制链接]
家栋
家栋
当前离线
积分
15
4
主题
8
帖子
15
积分
新手上路
新手上路, 积分 15, 距离下一级还需 35 积分
新手上路, 积分 15, 距离下一级还需 35 积分
积分
15
发消息
发表于 2023-1-15 16:09:59
|
显示全部楼层
|
阅读模式
很多有c/c++语言基础的朋友,在面试后台岗的时候都会有一个疑问,面试大厂的时候,技术水平要到一个什么程度才能进?
这里就分为校招和社招。校招的话对于技术层面的要求会相对较低。
会C with STL以及常见的数据结构与算法,并且笔试能当场做出leetcode中等难度以下的人就有70分了,如果笔试的时候对STL、auto、lambda等用法都很熟练,都有加分。对于实习生来说,表现不错就可以招进来,剩下网络编程和linux进去之后会再教你。
所以校招更看重的是你的基础和学习能力。实习进去之后再观察你的技术学习进度决定是否给你发offer。当然,如果你能提前掌握Linux环境编程,网络编程等技术更会加分,毕竟不管是哪个赛道,内卷都是有的。
再说社招,其实对于c++后台开发岗位来说,最核心的技术点有3个:
C++基础知识
TCP网络编程(以及「可靠」UDP)
Linux环境编程
考较到了代码能力,架构能力,安全能力及工程素养。
如果对于这三方面的技术掌握到位,面试通过的概率不会低。至于如何在大厂的职级体系中去确定自己的定岗,就会有更加细分的标准。
以鹅厂c++后台岗举例,对于每一个技术方向的掌握情况都是有大致的判断【T1-T9】
一、编程语言
开发环境搭建、运行第一个hello word【T1】
运用基本数据类型、表达式与操作符进行简单开发【T1】
字符串、向量和数组【T1】
语句和函数【T1】
分支控制、循环【T1】
对象生命周期 & 垃圾回收【T2】
错误和异常处理【T2】
标准库使用【T2】
日志分析、断点调试等简单代码调试方法【T3】
面向对象设计原则【T3】
单例模式、工厂模式等简单的设计模式【T4】
gdb高级调试技巧和常用系统分析工具使用【T5】
适配器模式、代理模式等常见设计模式【T6】
创建型、结构型、行为型设计模式的应用技巧【T7-T8】
代码耦合的产生原因和规避方法【T9】
整洁代码的设计思路和落地【代码能力】
复杂系统重构,识别系统潜在风险以及优化点,进行模块划分以及分层设计,提高系统内聚性降低模块间的低耦度【架构能力】
对编程范式有深入的了解,并对语言新特性熟悉,能够针对具体的问题场景分析,交付优秀的代码【代码能力】
熟悉常见的并发编程模型,并能根据业务场景进行落地【代码能力】
代码质量管理,熟知测试理论,并能运用测试各阶段的设计原则,高质量的输出测试用例【工程素养】
二、数据结构与算法
初识数据结构和算法 - 冒泡排序【T2】
数组、列表、栈,队列等基本线性数据结构【T2】
递归、排序、二分查找算法【T2】
跳表、散列表、hash算法【T3】
二叉树、红黑树、字典树【T3】
堆排序、归并排序、二分查找等高阶算法【T4】
字符串匹配、KMP算法【T4】
熟悉图论算法:dijkstra算法、最小生成树、深度/广度优先搜索等【T5】
贪心算法、动态规划【T5】
能够分析算法的执行效率和资源消耗、时间和空间复杂度分析【T6】
能够根据实际场景,选用合适的数据结构和算法进行程序设计【T7-T9】
位运算(异或非)【T7-T9】
三、数据库
MySQL服务器的安装与配置【T1】
数据表的新建、查询和删除操作【T1】
标准语言SQL和CURD能力【T2】
表、主键、索引、视图【T2】
表结构设计规范与范式运用【T3】
事务的使用以及其ACID特性【T3】
不同存储引擎的区别【T3】
事务的隔离级别和实践原理【T4】
数据库的连接池管理【T4】
数据库的权限管理【T4】
SQL注入、web shell攻击的危害和规避方法【T4】
数据库的集群和高可用【T5】
SQL语句优化、执行计划查看、索引和参数调优【T5】
运用Redis进行数据缓存处理,提高系统性能【T6】
redis内存模型【T7-T9】
redis的持久化、主从同步以及集群【T7-T9】
针对业务数据特点,对存储进行选型
数据库理论(关系型非关系型)
四、网络原理
利用ping、ifconfig、telnet等命令查看计算机网络状况【T1】
网络体系中每一层的作用和基本协议【T2】
TCP和UDP的基本原理【T3】
http协议基础与应用【T3】
TCP协议的可靠传输机制【T4】
TCP协议的流量控制和拥塞控制【T4】
Session、Cookie 与 Application【T5】
网络安全的加密算法与数字签名【T5】
https协议的基本原理【T5】
http2.0与http3.0特性【T6-T9】
XSS攻击的危害和规避方法【T6-T9】
Wireshark、tcpdump等网络抓包工具使用和结果分析【T6-T9】
网络故障分析与问题解决【T6-T9】
网络规划与网络拓扑
五、操作系统
常用的文件、目录操作命令使用【T1】
程序的编译与运行【T1】
shell脚本与vi使用【T2】
linux系统性能监控命令的使用【T2】
线程、进程的概念、创建与调度【T3】
用户态和内核态的基本概念、区别【T3】
CPU的上下文切换、中断处理与系统调度【T3】
磁盘文件系统、虚拟文件系统与文件缓存【T4】
物理内存和虚拟内存【T4】
进程间通信机制【T5】
死锁的危害、出现原因、解决方法【T5】
内存溢出、内存泄漏的原因与解决【T6】
如何高效利用CPU缓存【T7】
内存问题分析与性能优化【T7】
磁盘 I/O 性能优化【T7】
系统网络性能评估与优化【T8-T9】
六、网络编程
熟悉TCP/IP 四层模型,利用socket编程编写简单客户/服务器程序【T2】
基本TCP/UDP套接字编程【T3】
五种常见I/O模型【T4】
I/O多路复用技术【T5】
time_wait、close_wait状态产生的原因、危害与避免方法【T5】
熟练掌握各种I/O模型的运用场景【T5】
掌握C10k问题的基本解决方案(这个是不是不合适呀?现在都在攻克C10M问题了)【T5】
掌握常用网络框架,并能根据场景灵活应用【T6-T9】
七、分布式架构
简单rpc协议设计和框架搭建【T5】
rpc的服务寻址、数据流的序列化与反序列化和网路传输【T5】
分布式事务理论与常见的互联网公司落地方案【T5】
一致性算法【T5】
分布式锁的设计与实现【T5】
主流的微服务rpc框架【T5】
服务注册、服务发现【T6】
分布式trace、监控告警【T7】
常见负载均衡算法以及各算法的适用场景【T7】
主流分布式系统架构设计,比如分布式缓存、API网关、分布式消息组件【T8-T9】
分布式系统的缓存设计、缓存雪崩、缓存击穿等问题的解决方案【T8-T9】
微服架构熔断保护、降级熔断、流量控制、故障隔离、故障恢复方案设计【架构能力】
分布式架构的高并发、高可用、可扩展【架构能力】
八、云原生
Docker原理与搭建【T4】
Kubernetes【T5】
容器编排、容器网络【T6】
集成构建【T6】
云上常见的SaaS服务和组件【T7】
弹性扩缩容【T8】
服务网格Istio和Serverless【T9】
九、软技能【T9】
需求分析
项目设计方法
项目流程管理
项目风险控制
跨部门合作
沟通技巧
组织协调
目标管理
可以看到,对于定岗的每一个技术模块都会有相对的技术掌握标准,可以对照着技术提纲与自我的技术掌握情况进行对比参照。
这里分享给大家分享一份Linuxc/c++后台开发的学习技术路线,自己可以对照的参考,查漏补缺。作为个人目前觉得对于对c/c++后台开发体系总结完善程度最为详细的学习路线,来自于零声教育的这份学习提升路线:
主要从七大模块提升:
精进基石(数据结构于算法、设计模式等等)
高性能网络设计(网络编程、网络原理等等)
基础组件设计(池式组件、高性能组件等等)
中间件开发(MySQL、redis等等)
开源框架(skynet、dpdk等等)
性能分析
分布式架构(消息队列、分布式服务、API网关等等)
云原生
在这里建议如果是准备扎根于c/c++这个方向,可以优先考虑c++后台开发。
C++后台岗位现状
c++后台开发是常年公司招人却又招不到人的岗位,不是说它不卷,而是对于这个岗位的公司来说,基本上都是本着宁缺毋滥的原则。所以只要技术到位,薪资还是很客观的。而且大部分是大厂,对于学历的要求也是相对较高。
c++后台开发基本上是大厂必备,对于想要进大厂的c++程序员,它是不错的考虑。
c++后台开发工程师的培养周期很长,比如说Java ,你身边有没有工作四五年的Java程序员被3个月的新生代顶替掉的现象,而这个确确实实存在。而c++后台开发很难速成,它的慢也让很多本身是做c/c++的最后选择去做Java,python了。
c/c++后台开发它是比较庞大而复杂的体系。比如A公司做即时通讯,B公司也做即时通讯,但是他们的代码框架是不一样的,日志也不一样,流媒体编码也不一样等等,这也就是为什么招聘的这个岗位的时候更注重程序员对计算机原理,底层技术的理解和学习能力。也正是这种非一成不变让技术岗位更具成长性和竞争性。
学习资料获取
1.各大一线互联网大厂年终面试题总结(含腾讯、阿里、字节、滴滴、京东等)
2.腾讯T9职级技术学习提升路线详情版
3.腾讯后台通道T级职业等级标准
4.后台开发学习路线、讲解视频、免费资料获取
最后,推荐给大家一套来自【零声教育】c/c++Linux服务开发学习体系课程除了包含上述的技术要点和项目实战之外,还有更为精细化的课程服务
c/c++Linux后台开发学习地址
:https://ke.qq.com/course/417774?flowToken=1043850
【文章福利】:小编整理了一些个人觉得比较好的c/c++Linux后台开发的学习文档资料、视频资料共享在群文件里面,有需要的可以自行添加哦!
~点击909332607加入
(需要自取)
适宜工程师人群
从事业务开发多年,对底层原理理解不够深入的在职工程师
从事嵌入式方向开发,想转入互联网开发的在职工程师.
从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师
工作中技术没有挑战,工作中接触不到新技术的在职工程师
自己研究学习速度较慢,不能系统构建知识体系的开发人员
了 解很多技术名词,但是深入细问又不理解的工程师
计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)
课程方式
98次直播课,持续8个半月,直播每周二四六晚8点到10点
课前预习资料课后思考实践作业
班主任督学 作业统计 博客统计
老师答疑 工作问题 课程问题
课程涉及编程语言 45%的c,25%的c++,20%的go, 5%的lua, 5%的其他语言(Rust, shell, java, awk, python)
奖学金机制最高1000元 公开透明(一 期评选一次)
面试跳槽
简历梳理技术点凸显项目技术梳理
模拟面试技术表述
薪资谈判福利争取
offer选择职业规划技术前景
至于学习效果怎么样?
薪资涨幅,技术突破,一次学习,终生受益!
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表