本科宇航,考研调剂到CS,计算机基础近乎没有,遂自学打了一遍基础。今年秋招收获字节、快手、蚂蚁三家offer,基本为基础架构方向,来此分享一下自己的学习经历,希望能帮到其他想从别的专业转到C++研发方向的同学。
一、面向笔试的学习
1.C++学习路线:慕课C++全套入门 -> 学堂在线 -> STL源码剖析
1)慕课网免费课程——C++系列和数据结构系列。(适合入门)
2)学堂在线——郑莉《C++语言设计程序基础+进阶》
*必备书籍:《C++Primer》(当字典用,别傻傻地硬啃)、《STL源码剖析》(经典!反复阅读)
*扩展书籍:《深度探索C++对象模型》、《Effective C++》、《More Effective C++》
2.算法学习路线:算法入门视频 -> 剑指offer -> leetcode
1)B站视频——BAT面试算法等
2)牛客网剑指Offer67题,刷两遍以上
3)LeetCode经典题目(能多刷就多刷,记得总结)
二、面向面试的学习
1.计算机基础补习:操作系统+计算机网络+数据库+设计模式
学堂在线——操作系统(向勇)、计算机网络、数据库基础、设计模式
B站视频——MySQL基础、CMU15-213、CMU15-445
*必备书籍《计算机网络——自顶向下方法》、《深入理解操作系统》/《深入理解计算机系统》
*扩展书籍《TCP/IP详解卷1》、《Redis设计与实现》、《高性能MySQL》
2.Linux基础:
1)《鸟哥的linux私房菜》
2)慕课网的linux基础教程
(平时将linux作为你的开发平台就好了)
3.后端基础(结合项目学习):
1.《Unix网络编程》中需掌握socket编程
2.掌握IO多路复用的多种实现(select、poll、epoll)
3.了解多进程、多线程、协程的多种框架与典型实现方式
*扩展书籍:《linux内核设计与实现》,《深入理解Nginx》、《Linux多线程服务端编程》
4.项目:
*现有C++研发方向
:通用后端开发、通用客户端开发(需求量大,好找工作)、音视频服务端/客户端开发、游戏引擎开发、游戏客户端开发(Unity/Unreal,可能需要C#基础)、游戏服务器开发、C++AI开发(C++写深度学习,算法要求高)、LinuxC/C++方向、嵌入式开发(做硬件底层)、数据库内核、分布式系统
5.面试冲刺推荐:
1.labuladong的算法小抄(GitHub足足7万star!知道他也参加这届秋招,而且还是本科生时,我的世界都崩塌了。感觉自己就是个Five -_-|||)
2.背包九讲
3.Github或各大公众号的秋招总结
*(关于整体学习时长,零基础自学建议8~12个月以上,考研式集中补习建议4个月以上)
3条回帖
回帖