课程时长

9

每周2节课, 每节课2-3小时

下次开课

即将开课

关注我们获取最新信息

建议预修课程

中级

有一定编程经验

助力提升技术背景!助力职业升级和转型!

C++是一门历久弥新的编程语言。一方面,一线大公司的底层架构出于对运行效率的重视,C++语言往往是首选。另一方面,在无人车等新兴领域,C++有着广阔的应用市场。因此,尽管各种新兴的编程语言百花齐放,C++在计算机业界的地位却非常稳固。

然而实际工作中,“会”C++的人不少,但真正“懂”C++的工程师不多。一般的C++课程,为了全面覆盖C++的所有知识点,往往全而不精。学完之后只知道“C++能做什么”,却不知道“什么项目适合C++”,“怎么用好C++”,即便能写出来C++程序,也很难真正发挥C++这门语言的真正威力。因此,对于软件工程师而言,掌握C++语言,可以拓宽自己的职业广度,获得更多向上的机会。

通过对本课程的学习,您将能够形成软件工程师的思维能力,进一步加强编程技能,灵活运用C++语言的各种工具,找到合适而高效的方法解决实际工作中的各种问题,真正做到学以致用。

cpp

适合学员

参与C++工程实践进阶班的同学,85%都来自Google、Facebook、Amazon等北美一线科技公司。加入这门课程,您将与全美优秀的工程师成为同学,相互切磋,共同进步。

offer boardoffer board
avatar
*** Liu
logo
avatar
*** Wang
logo
avatar
*** Kong
logo
avatar
*** Bao
logo
avatar
*** Li
logo
avatar
*** Zhang
logo
avatar
*** Tian
logo
avatar
*** Lin
logo
avatar
*** Qu
logo
avatar
*** Gu
logo
avatar
*** Sun
logo
avatar
*** Zhao
logo
avatar
*** Yao
logo
avatar
*** Tang
logo
培养软件工程师的思维能力,进一步加强编程技能,做好从学界进入业界的工作准备。

课程特色

来Offer精心挑选了实际工作中重要的知识点,通过20节的高效务实的课程,以及1个工业界级别大项目,让您在短时间内迅速获得使用C++进行实际工程开发的能力。

成功案例
cpp

课程大纲

进阶之旅

C++工程实践进阶班

每周2节课, 每节课2-3小时

C++工程实践进阶班面向即将开始暑期实习,或刚刚进入职场的工程师。旨在通过20节高效务实的课程,以及1个工业界级别项目,帮助您快速掌握C++的系统知识,提升工程思维水平,具备C++实际工程开发能力。

  • 1第1周
    Language basics

    - Const keyword: the concept of constant and immutability in C++

    - C++ functions, declaration v.s. definition

    - C++ program structure

    Modern language features

    - Difference in access controls

    - Virtual function and non-virtual function

    - Replacement of Java interface in C++ and best industry practice

    - C++ class with const: immutability and constants

  • 2第2周
    Memory allocation and object representation

    - Stack allocation v.s. heap allocation

    - Object representations in C++: instance, reference and pointer

    - Passing parameters to functions

    Project Practice 1: C++ Build and Link process

  • 3第3周
    Advanced memory topics

    - Common memory management pitfalls in production and the solution: Unique Pointer

    - Function representations in C++

    - Vtable, how virtual function actually works to support polymorphism

    Project Practice 2: Introduction to Bazel

  • 4第4周
    Template

    - Understand template and use it correctly in a production codebase

    - Design of vector container class

    C++ standard containers

    - How to use common container data structures(e.g. set and map) correctly

    - Namespace and package management

  • 5第5周

    Project Practice 3: Project walkthrough

    Operator overloading

    - Understand operator overloading mechanism

    - How to use operator overloading correctly in production without making your teammates angry

  • 6第6周
    Callback

    - Understand the importance of callback and how it is supported by functor.

    - Callback use cases in production

    Lambda function

    - Functional programming and the use of lambda function in production

  • 7第7周
    Optimization I

    - Analyze the bottleneck of system performance

    - Batching: an efficient optimization technique and how to deploy it correctly

    Optimization II

    - Caching

    - Stack v.s. heap in performance

    - Indexing systems v.s. serving systems

  • 8第8周
    Code quality

    - Commonly adopted principles and practices in production coding

    - Code readability and quality

    - Code review process

    - Designing (re-)usable and maintainable program

    - 5 principles commonly adopted in production

  • 9第9周

    Project Practice 4: Project summary and case study

    Final class: putting everything together

    - Review

想获得更多课程资料?

对课程大纲有任何疑问?

扫描下方二维码,联系来Offer课程顾问:

QR Code

想了解相关学员成果?

成功案例
* 每期课程均有不同程度的修改,实际课纲以上课公布为准

马上报名

C++工程实践进阶班

了解详情可扫码添加顾问

全明星导师,全程实时直播授课
85%学员来自北美科技公司
工业界级别项目,提升工程能力
高效扎实建立C++实际工程思维
小班教学,资深工程师个性化指导
1V1答疑,简历修改
即将开课

扫描下方二维码,联系来Offer课程顾问:

QR Code
报名试听

常见问题

+1