chjian 发表于 2023-10-16 18:43:51

2024秋招Java还是c++?

末流985本毕业后混日子干了三年CRUD的Java,属于全栈,前端,后端和数据库都会一点,但都不精的那种。原本想转算法,所以又跑回来读研,奈何复试被刷,调剂了个双非。做算法应该希望不大了,想问明年秋招选Java还是c++。Java太久没用忘的差不多了,c++平时会接触到一些。因为要搞论文,能准备秋招的时间估计只有4个月,想问下知乎上的大佬们现在这种形式下怎么选比较合理。

精灵族王子 发表于 2023-10-16 18:44:41

不是,你怎么就知道自己四个月能学得明白C++,以及C++岗位所需的领域知识呢?
现在还在坚持用C++的岗位,那一定是C++提供了不可替代的优势,这样的开发领域很少,比如游戏引擎、高性能计算、低延迟系统、音视频编码。。。
你可以从岗位出发,找几个你心仪的高薪C++岗位,对着它们的要求去学C++和相关的领域知识。估计学个两个星期,有没有戏你自己就知道了。
说实话,对于大部分普通人来说,还是学java吧。再不济,学C#也实际得多。

bigboboo 发表于 2023-10-16 18:45:39

我加了两个C++群,很多9硕找不到实习。也不只是后端,其他方向也投,什么游戏,自动驾驶的。你要走cpp只能照着窄赛道赌一把,做点对应岗位的项目

zhsw72 发表于 2023-10-16 18:45:52

末流985去读双非硕是血亏。
我在某头部大厂招了十几年C++,今年要求除了leetcode还要有一些项目经验,至少是做过单个项目超过2000行以上的才有竞争力。你可以把这个要求当成奋斗目标去准备,就算不能全部达到要求最终也能有所提升吧。
虽然没赞但是有人看,我就再补充一下吧。根据我的观察,C++并没有卷起来。根据我每年招聘面试的情况来看,纵向对比水平从来都没有明显提升,今年的应届生水平和去年相比没明显提升,和前年相比也一样。可以认为C++本来就卷不起来,放弃的人早放弃了。

sun333 发表于 2023-10-16 18:46:19

一、我的经历

说说我的经历,在 C++ 和 Java 之间我经历了这么几个阶段:

[*]大学浅尝辄止地学过一段时间 Java,后来放弃开始学 C/C++;
[*]本科毕业到硕士学的都是 C++;
[*]工作以后非 C++ 开发不做,先做 C++ 客户端开发,再转 C++ 服务器开发;
[*]后来机遇巧合去了携程旅行网做 Java 开发;
[*]前年离开携程,与人合伙创业,做技术负责人,大部分核心系统用 Java 开发,只有其中一个系统用 C++ 开发;
[*]离开创业团队,拿到了阿里的 P7 offer(Java 开发岗位,未去)
[*]拿了饿了么 C++ 开发岗位的 offer(做公司定制的数据研发),也未去。
[*]目前在某独角兽公司。
二、选 C++ 还是选 Java?

作为过来人,我的建议是:
如果你是学生或有大把空余时间,那建议你把 C++ 学好,C++ 被称为程序员的九阳神功是有一定的道理的,并不是说 C++ 有多难学,而是 C++ 技术栈的学习讲究的是其背后的一系列操作系统原理,你把 C++ 学好了,就意味着你把这些背后的原理学好了,你之后再学其他任何语言和机制都轻松很多;
如果你急着找工作,或者对编程没多大兴趣,只是为了糊口饭吃,那么你可以优先选 Java,甚至 Java 的八股文面经背一背,如果运气不错的话,也能找到一份不错的工作。
三、C++ 该怎么学?

C/C++ 这门语言与其他高级语言不同,它是离操作系统较近的语言。所以学好 C/C++ 体系的技术栈必须结合操作系统的运行机制来学习,通俗地说,就是你必须掌握操作系统层面的几大基础知识,他们是汇编、编译链接与运行时体系、狭义的操作系统原理、多线程、网络编程,只有这样学习,你才能学的懂、学的通透、学以致用。咱们学习 C++ 不是为了理论研究,而是付诸实践,投入生产是吧。
用一张图来概括一下 C++ 技术栈吧:

http://picx.zhimg.com/v2-e7903f37b3eb04866fdc554fc9c7de69_r.jpg?source=1940ef5c
3.1 学好 C++ 语言包括 C++11/14/17 常用语法

C++ 面试关于语法部分一般会问以下一些问题,当然这些问题也是 C++ 开发必备:

[*]在有继承关系的父子类中,构建和析构一个子类对象时,父子构造函数和析构函数的执行顺序分别是怎样的?
[*]在有继承关系的类体系中,父类的构造函数和析构函数一定要申明为 virtual 吗?如果不申明为 virtual 会怎样?
[*]什么是 C++ 多态?C++ 多态的实现原理是什么?
[*]什么是虚函数?虚函数的实现原理是什么?
[*]什么是虚表?虚表的内存结构布局如何?虚表的第一项(或第二项)是什么?
[*]菱形继承(类 D 同时继承 B 和 C,B 和 C 又继承自 A)体系下,虚表在各个类中的布局如何?如果类B和类C同时有一个成员变了 m,m 如何在 D 对象的内存地址上分布的?是否会相互覆盖?
部分同学对以上问题总是搞不清楚,但是又不知道如何学习,于是从网上找各种文章来学习,造成这块的知识非常零碎,无法构成体系,其实这与其在网上花费大量时间,不如系统地看一下侯捷老师翻译的《深度探索 C++ 对象模型》一书。 这本书专注于 C++ 面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。对于 C++ 底层机制感兴趣的读者,这是一本让你大呼过瘾的绝妙好书。
http://pic1.zhimg.com/v2-174e8e27958d41dbc93d8836620038ec_r.jpg?source=1940ef5c

[*]
统一的类成员初始化语法与 std::initializer_list<T>
[*]注解标签(attributes)
[*]final/override/=default/=delete 语法
[*]auto 关键字
[*]Range-based 循环语法
[*]结构化绑定
[*]stl 容器新增的实用方法
[*]std::thread
[*]线程局部存储 thread_local
[*]线程同步原语 std::mutex、std::condition_variable 等
[*]原子操作类
[*]智能指针类
[*]std::bind/std::function
C++11/14 网上的资料已经很多了,C++17 的资料不多,重头戏还是 C++11 引入的各种实用特性,这就给读者推荐一些我读过的不错的书籍:

[*]《深入理解 C++11:C++11 新特性解析与应用》
[*]《深入应用 C++11:代码优化与工程级应用》
[*]《C++17 完全指南》
[*]《Cpp 17 in Detail》

http://picx.zhimg.com/v2-e240d50071da6aa118091a608cc0cacf_r.jpg?source=1940ef5c
3.2 进一步提高 C++

当你学习好了 C++ 语言本身,你可以学习一下 C++ 的一些常见惯用法和高性能编码实践,这里我推荐一本经典书籍叫《提高 C++ 性能的编程技术》,这本书详细讨论了临时对象、内存管理、继承、虚函数、内联、引用计数以及 stl 等一切有可能提升 C++ 效率的细节内容。最终,该书将c++性能提升的各种终极利器,完美地呈现在读者的面前!最关键的是,这本书非常薄,但是书中介绍的每个专题都是实战中常用的技术,强烈推荐。
3.3 C++ 工程实践

在掌握了 C++ 常用语法和语言背后的实现机制和常用惯用法后,我强烈推荐另外两本书,一本是 《C++ API 设计》 和《大规模 C++ 程序设计》,前者从细粒度地教你在实际开发中如何设计 C++ API 接口,后者告诉你大型 C++ 程序小到单个 .h/cpp 文件如何编写,大到大型 C++ 项目如何组织的最佳实践。这两本书都是工程实践的图书,书中的技术可以实实在在地用于一线开发。

http://picx.zhimg.com/v2-05598fcb0b57a48c731b79f3a92708c7_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-4447d627429fbb10a64ba5a58bb17707_r.jpg?source=1940ef5c
3.4 与 C/C++ 相关的必知必会知识

第一个基础知识是汇编。
我们学习汇编不是一定要用汇编来写代码,就像我们学习 C/C++ 也不一定单纯为了面试和找工作。
对于 C/C++ 的同学来说,汇编是建议一定要掌握的,只有这样,你才能在书写 C++ 代码的时候,清楚地知道你的每一行C++代码背后对应着什么样的机器指令,if/for/while 等基本程序结构如何实现的,函数的返回值如何返回的,为什么整型变量的数学运算不是原子的,最终你知道如何书写代码才能做到效率最高。掌握了汇编,你可以明白,在 C++ 中,一个栈对象从构造到析构,其整个生命周期里,开发者的代码、编译器和操作系统分别做了什么。
掌握了汇编,你可以理解函数调用是如何实现的,你可以理解函数的几种调用方法,为什么printf这样的函数其调用方式不能是 __stdcall,而必须是 __cdecl。掌握了汇编,你就能明白为什么一个类对象增加一个方法不会增加其实际占的内存空间。推荐的书籍是王爽老师的《汇编(第三版)》 和韩宏老师的《老码识途 从机器码到框架的系统观逆向修炼之路》 。
第二个基础知识是编译、链接与运行时体系知识。
作为一个开发者,要清楚地知道我们写的 C/C++ 程序是如何通过预处理、编译与链接等步骤最终变成可执行的二进制文件,操作系统如何识别一个文件为可执行文件,一个可执行文件包含什么内容,执行时如何加载到进程的地址空间,程序的每一个变量和数据位于进程地址空间的什么位置,如何引用到。一个进程的地址空间有些什么内容,各段地址分布着什么内容,为什么读写空指针或者野指针会有内存问题。一个进程如何装在各个 so 或 dll 文件的,这些文件被加载到进程地址空间的什么位置,如何被执行,数据如何被交换。
第三个基础知识是狭义的操作系统原理。这里加上“狭义”二字是因为从广义上来讲,以上所说的内容都是操作系统原理的范畴。狭义的操作系统原理这里包括操作系统如何管理进程与线程,虚拟内存与物理内存之间的对应关系,何为内存映射文件,进程之间如何通信等等。
这两者推荐的书单:《程序员的自我修养》和 《Windows 核心编程》,尤其是《程序员的自我修养》,搞 C++ 开发不看此书,读尽 C++ 语言书也枉然!
第四个基础知识是多线程知识。
严格来说,这点已经包括在第三点之中了,我之所以将其单独列出来,是因为多线程编程是我们做应用服务最常用的技术之一。最近面试过几个学历非常好的同学,对于一个进程中如果某个线程因为内存问题而退出,是否会导致整个进程退出的问题答不好,实在不应该。多线程知识其实不难学,立足于理解与实践而不是应付面试,可以学的很好。无论是 Windows 还是 Linux 操作系统,操作系统提供的线程同步对象就那么几种,Windows 常用的有临界区(关键端)、Event、互斥体、信号量等,Linux 有互斥体、信号量、读写锁、条件变量,这些知识点学过则会,不学则不会。这些线程同步原语花上几天就能搞得清楚,大多数同学不是学不会,而是不愿意学,但是偏偏喜欢在简历上写上自己熟悉多线程编程。面试的时候,被问到条件变量的虚假唤醒机制都说不清楚,非要说自己用过条件变量。这是一些同学犯的很低级的错误,如果真用过条件变量,如果不知道虚假唤醒机制,那一定写的代码是不对的。市场上目前没有任何一本图书对以上知识形成体系的介绍,当然,我的本书填补了这一空缺,你将从本书中获得从进程与线程的关系,再到常用的线程同步原语的区别与使用场景,再到线程池以及基于生产者消费者模型的消息队列,以及对协程思想介绍的相关知识。
掌握了常见的多线程同步原语之后,接下来可以找一些带多线程的项目去学习一下,不管是否带 UI 的都行。我推荐的一种方式是,使用 gdb 或者 Visual Studio 调试器将你需要学习的多线程程序中断下来,在多线程面板,看看这个进程一共有多少个正在运行的线程,分析每个线程的作用,然后研究下这些线程在何时何地创建的,为什么需要创建新的线程。尝试爱过几个人,面对爱情你会诚实很多;尝试研究几个多线程项目,面对多线程你会熟练许多。
推荐的书单 《C++ 服务器开发精髓》。
第五个是网络编程,直白地说就是 Socket 编程。操作系统层面提供的 API 会在相当长的时间内保持接口不变,一旦学成,终生受用。理解和掌握常用的基础 socket API 不仅可以最大化地去定制各种网络通信框架,更不用说使用市面上流行的网络通信库了,最重要的是,它会是你排查各种网络疑难杂症坚实的技术保障。操作系统层面提供的网络模型就那么几种,无论像 Java/Go/Python 等语言如何封装,作为技术的源头,我们有什么理由不去掌握它呢?推荐的书单 《TCP/IP 网络编程》和《Linux 高性能服务器编程》 。
以上是基于 C++ 技术栈来说,并没有包括算法与数据结构、数据库等方面的基本功。总而言之,学习 C++ 不能只盯着 C++ 语法本身,还要熟悉 C++ 技术栈背后的一系列操作系统原理。
最后给大家分享一个c/c++ linux后端服务器开发的完整学习路线(来自零声教育课程大纲,对标腾讯T8技术栈)

零声教育 第12代 Linux C/C++后台架构开发 成长体系课程 - v1.5

C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂
一、精进基石

1.数据结构与算法

[*]随处可见的红黑树
[*]磁盘存储链式的B树与B+树
[*]海量数据去重的Hash与BloomFilter,bitmap
2.设计模式

[*]创建型设计模式
[*]结构型设计模式
3.c++新特性

[*]stl容器,智能指针,正则表达式
[*]新特性的线程,协程,原子操作,lamda表达式
4.Linux工程管理

[*]Makefile/cmake/configure
[*]分布式版本控制git
[*]Linux系统运行时参数命令
部分试听视频:
5种红黑树的用途,从应用到内核场景的优缺点
redis、布隆过滤器、分布式一致性hash中hash的妙用
二、高性能网络设计

1.网络编程

[*]网络IO与select,poll,epoll
[*]reactor的原理与实现
[*]http/https服务器的实现
[*]websocket协议与服务器实现
2.网络原理

[*]服务器百万并发实现
[*]redis,memcached,nginx网络组件
[*]Posix API与网络协议栈
[*]UDP的可靠传输协议QUIC
3.协程框架NtyCo的实现

[*]协程设计原理与汇编实现
[*]协程调度器实现与性能测试
4.用户态协议栈NtyTcp的实现

[*]用户态协议栈设计实现
[*]tcp/ip定时器与滑动窗口
[*]手把手设计实现epoll
5.高性能异步io机制io_uring

[*]与epoll媲美的io_uring
[*]io_uring的使用场景
部分试听视频:
100行代码,实现网络协议栈,准备好linux环境
全网最详细epoll讲解,6种epoll的设计,让你吊打面试官
三、基础组件设计

1.池式组件

[*]手写线程池与性能分析
[*]内存池的实现与场景分析
[*]异步请求池的实现
[*]mysql连接池的实现
2.高性能组件

[*]原子操作CAS与锁实现
[*]无锁消息队列实现RingBuffer
[*]定时器方案红黑树,时间轮,最小堆
[*]手写死锁检测组件
[*]手写内存泄漏检测组件
[*]手把手实现分布式锁
3.开源组件

[*]Libevent/Libev框架实战的那些坑
[*]异步日志方案log4cpp
[*]应用层协议设计ProtoBuf/Thrift
部分试听视频:
高并发场景下,三种锁方案:互斥锁,自旋锁,原子操作的优缺点
红黑树、最小堆、时间轮、跳表多种方式实现定时器
四、中间件开发

1.redis

[*]redis相关命令详解及其原理
[*]redis协议与异步方式
[*]存储原理与数据模型
[*]主从同步与对象模型
2.MySQL

[*]SQL语句,索引,视图,存储过程,触发器
[*]MySQL索引原理以及SQL优化
[*]MySQL事务原理分析
[*]MySQL缓存策略
3.Kafka

[*]Kafka使用场景与设计原理
[*]Kafka存储机制
4.gRPC

[*]gRPC的内部组件关联
[*]基于http2的gRPC通信协议
5.nginx

[*]nginx反向代理与系统参数配置conf原理
[*]nginx过滤器模块实现
[*]nginx Handler模块实现
五、开源框架

1.skynet

[*]skynet设计原理
[*]sky net网络层封装以及lua/c接口编程
[*]sky net重要组件以及手撕游戏项目
2.分布式API网关

[*]高性能web网关Openresty
[*]Kong动态负载均衡与服务发现
3.DPDK

[*]DPDK环境与testpmd/I3fwd/skeletion
[*]DPDK的用户态协议栈
[*]千万级流量并发的dns处理
[*]高性能数据处理框架vpp
[*]DPDK的虚拟交换机框架OVS
4.高性能计算CUDA

[*]gpu并行计算cuda的开发流程
[*]音视频编解码中的并行计算
六、云原生

1.Docker

[*]Docker风光下的内核功能
[*]Docker容器管理与镜像操作
[*]Docker网络管理
[*]Docker云与容器编排
2.Kubernetes

[*]K8S环境搭建
[*]Pod与Service的用法
[*]K8S集群管理
[*]K8S二次开发与K8S API
七、性能分析

1.性能与测试工具

[*]测试框架gtest以及内存泄漏检测
[*]性能工具与性能分析
[*]火焰图的生成原理与构建方式
2.观测技术bpf与ebpf

[*]内核bpf的实现原理
[*]bpf对内核功能的观测
3.内核源码机制

[*]进程调度机制
[*]内核内存管理运行机制
[*]网卡nic与网络协议栈的关系
[*]文件系统组件
八、分布式架构

1.RocksDB

[*]不一样的kv存储RocksDB的使用场景
[*]RocksDB的特殊操作
2.云原生分布式数据库TiDB

[*]TiDB存储引擎的原理
[*]TiDB集群方案与Replication的原理
3.分布式服务

[*]内核级支持的分布式存储Ceph
[*]注册服务中心Etcd
九、项目实战

1.图床共享云存储

[*]fastdfs架构分析和配置
[*]fastdfs存储原理
[*]分布式fastdfs存储集群部署
[*]高负载nginx/fastcgi
[*]文件传输和接口设计
[*]产品上云公网发布/测试用例
2.微服务即时通讯

[*]IM即时通讯项目框架分析和部署
[*]IM消息服务器/文件传输服务器
[*]消息服务器/路由服务器
[*]数据库代理服务器设计
[*]文件服务器和docker部署
[*]产品上云公网发布/公网测试上线

zijiang 发表于 2023-10-16 18:47:15

C++难度较大,相对其他语言学习的人较少,市场占有率也小,但是C++学厉害了是真的厉害,C++可以干到年龄比较大。
就拿C++和java进行比较。

http://pic1.zhimg.com/v2-a67ca15364f4d8072d647ca2d7484788_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-f800231233c1af1db9a015e57322a9b9_r.jpg?source=1940ef5c
基础介绍

Java与C++都拥有相当长的历史,且语法相当类似,并被众多业界巨头所采用。事实上,Java本来就是从C++衍生出来的。


http://picx.zhimg.com/v2-2c34de57208cb34e3ef6d580d5f9e73b_r.jpg?source=1940ef5c

不过尽管相似,二者之间仍然存在显著区别。很多人都说会C++就能会快掌握Jave。C++是不好学,但是我告诉你java也不好学。C++难是难在语言本身,java难是难在各种框架和库。你单纯学个java语法,你什么玩意也做不了,java的东西都在java之外。
C++对Java:从就业的角度



http://pica.zhimg.com/v2-be7f1f05714168640deb045d57247597_r.jpg?source=1940ef5c

http://pica.zhimg.com/v2-e6f9830c12647e97a2367acb41608969_r.jpg?source=1940ef5c

上面这两个图片,已经明确的表达出c++的就业机会比java少。java侧重于大型企业级应用开发,C++侧重于底层应用开发。至于薪资方面呢,不管是C++还是java,有了多年项目经验后,工资都会比较高。现在网页,移动APP,都是通过http与服务器通讯,在http请求上面,JAVA处理较好,C++没有处理优势。所以,后台服务器都会用到JAVA,而不一定用到C++(大型的项目才会用到)。因此,为了找工作:选Java。为挑战自我:选C++。
C++对Java:相似之处

很多人都爱拿C++对Java作对比的原因也是C++与Java拥有诸多相似之处。因此在为项目选择语言时,大家应主要考虑到当前团队成员更熟悉哪款语言。


http://picx.zhimg.com/v2-64983429715e686108d52236e2689f18_r.jpg?source=1940ef5c

语法:两种语言中的循环结构、类、变量定义以及条件运算符非常相近,意味着开发者能够轻松在不同项目中分别使用这两种语言,而不会遇到太多障碍。
入口点:在程序启动时,编译器或者解释器会查找开始执行的对应位置。Java与C++都以“main”作为入口点。
面向对象:面向对象概念代表着语言利用类来表示程序中的组件。每个类包含有其定义的方法与属性。C++与Java都属于面向对象语言,这意味着程序将更具模块化特性,允许大家将代码复用至其它程序当中。
C++与Java的区别

人们往往误以为两种语言相似意味着其在功能上也彼此接近。然而,尽管Java与C++拥有类似的语法,但其执行与处理机制则完全不同。
解释对编译:Java是一种解释性语言,意味着其在执行时会被“翻译”为二进制形式,也就是java跑得时候必须有人(jvm)去解释它。而C++则是编译语言,意味着程序只能在特定操作系统上编译并在特定系统上运行,也就是说C++一步到位成机器语言的。
内存安全:Java是一种内存安全型语言,意味着大家可以为给定数组分配任意参数,即使超出范围也只会返回错误提示。C++更为灵活,但代价是一旦分配的参数超出资源范围,则会引起错误甚至严重崩溃。
性能:Java人气极高,但其代码由于需要在运行前进行解释因此性能表现更差。C++会被编译为二进制形式,因此其能够立即运行且速度更快。如果你写一个c++的程序和做同样事情的java程序,可能你感觉两者速度差不多。但如果这两个程序都足够大、而且c++的代码经过过优化,两者的速度差就会变得很显著甚至很惊人,C++会比java快很多。
指针:指针是一种C++结构,允许您直接在内存空间中进行值管理。Java不支持指针,因此您可能使用值引用的方式进行值传递。
重载:重载是指对某种方法或者运算符的功能进行“重新定义”。Java允许方法重载,而C++则允许进行运算符重载。
难易程度
Web前端开发
起点低、容易入门相对于其他IT技术职位来说, HTML5前端工程师相当于半个程序员,所以你不用担心学不会。很多程序员都是0基础开始学的,而且因为职位所处位置的交叉性,也就有很多Web前端开发人员是转行而来。HTML5前端源于HTML语言发展而来,由于HTML和CSS起点低、容易入门。
JAVA
语言语法简单,但有一定难度Java语言拥有与C、C++等众多流行语言一样的简洁易懂的关键字、语法,而且是各种后台开发语言中相对比较容易上手的语言。使用Java语言开发诸如服务后台等复杂的应用场景都有简单完美的解决方案。Java的入门难度在后台开发语言中也是属于比较容易的,但相比前端还是较难
从入门难易程度分析:
前端和后台(Java)入门都比较简单!但是细化来讨论,前端相对更容易一些! 因为前端入门涉及的逻辑更少,而且短期可以看到学习成功(简单的页面)!
当然后台前期入门也比也不算难,但是有一些逻辑在里面!需要学习一段时间后,才可以看到效果。后台开发天生是有优越感的,因为与前端相比,后端更加接近业务本质,数据结构基本上都是后端来设计的,对公司的业务后台开发也更加了解!
技术对比:
对于以Java工程师为代表的后台开发,基本上大部分精力会放在诸如Java基础,设计模式,Jvm原理,spring+springmvc原理及源码,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构,弹性计算架构,微服务架构,java性能优化,以及相关的项目管理等等。
目前,Java和web前端的前景都挺不错,人才需求量也大,薪资也高。从难易度来说,Java难一些,web前端简百单些更容易度入门。从人才需求来说,Java的需求量大一些,但是相对的Java的人才竞争力比web前端回大很多。从薪资来说,Java的平均薪资比web前端答高。但具体的薪资还是跟与个人能力有关,能力越好工资就越高回。
T行业的道路固然是充满了阳光了,一路上充满了美景,但是也充满了艰苦和崎岖,在突破了之后一路的阴霾,云霄之上,必然是一番广阔的云海。
顺便分享这里整理学习近百本计算机经典书籍,包括各种编程语言,算法,网络编程,数据库,分布式等等各种技术。对于学习计算机的同学帮助非常大,且十分系统!面试找工作的资料汇总都打包放在这了,这套资源可不是一般那种网上找的资源,非常宝贵!


http://picx.zhimg.com/v2-ca2da9a346fa1a59a52781ad71548949_r.jpg?source=1940ef5c
书单下载地址:

计算机经典书籍​下载地址

http://picx.zhimg.com/50/v2-ad9c18bcb279b15836e21e9a6b385686_720w.jpg?source=1940ef5c
我响应粉丝的要求,将学习C/C++的人聚集到一起交流学习,真心希望可以帮助到大家,我会不定期在群里分享技术,带领大家一起学习,专为CS学生建立,真心希望可以帮助到大家!加群点击:
加高质量群链接
盼盼整理了这么多,手都酸啦!同学们如果觉得有帮助的话,不要白嫖盼盼,给盼盼点一个
赞吧,这样可以让跟多的同学看到!



http://pic1.zhimg.com/50/v2-907838a6045bb9fc80aa560a7275da20_720w.jpg?source=1940ef5c
Update

c++全面学习路线和学习资料,希望可以帮助到大家!!!

我是女生选的软件工程,真的感觉压力很大很大,不知道怎么办了....?
自己的学习经历和一些要看的书分享,帮助了很多小伙伴!

如果重返大一学计算机,你会做什么?

记得帮我 @盼盼编程 点个赞哟,顺便来个关注,下面是我知乎主页:
盼盼编程
页: [1]
查看完整版本: 2024秋招Java还是c++?