LinuxC/C++发展方向

LinuxC/C++发展方向——知乎精彩回答收藏


链接:https://www.zhihu.com/question/22608820/answer/26095225
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


lable1:

列一下写服务端需要的基本知识点吧:
1. 网络通信:最低要求能理解 Tcp 是流,Udp 是包,并会创建连接通信,写 epoll 的程序。
1.1 进阶可以看 《TCP/IP详解》。
2. 多线程编程:最低要求理解为啥要用锁,并且学会用锁。
2.1 进阶可以研究一下各种不同的锁,比如读写锁、自旋锁等;
2.2 再可以研究一下 Lock-Free;
2.3 也可以玩一下协程;
3. 数据库:最少会读会写,优化可以交给 DBA (什么你们没 DBA?那么自己点 DBA 技能吧)
4. 了解 HTTP 协议等一些你的工作范围可能用到的协议;
5. 学会使用库和其他语言写的服务交互;
比如 Redis* 上面这些是写服务器的基础技能,不需要进阶就可以先写*  如果想点 Linux 专精,平时在 Linux 下工作,弄本 《Linux 编程》之类的书学习。PS:可以考虑在 Windows 下用 VS 写,使用 Boost 之类的跨平台库写代码,直接拿到 Linux 下编译就可以了,比较省心,毕竟最新的 VS 有很多好用的功能。不过,偶尔会碰到没跨平台库的情况。学会基本,就可以自己写代码练习了,比如自己写个高性能 Web 服务器之类的。写代码没捷径,只有做工程,多写。
6.最后,服务端编程最重要的其实是设计能力,多看看别人的代码,一定要理解别人的设计思想哦!PS 2: 然后,花一周学会 Java 服务端开发,就能来公司上班了。(花式逃~~~~

lable2:

根据工程经验来看,LinuxC/C++这个方向主要强调性能,高并发,稳定性这些因素,重点在后端。如果你对前端内容不是特别敏感(所谓的美),后端是你的强项,大数据,云存储,云计算都与linux后端有密切关系。内容:语言(c/c++),算法(强调性能),linux系统编程及内核原理(才知道如何调优),网络。这是基础。然后就是具体的方向,例如高并发服务器?大数据?完全根据你自己的定位。

lable3:

//1.精通C++,STL,Linux等,熟悉设计模式;熟悉常用的数据结构、算法
//2.熟练掌握一门脚本语言(Lua, Python, Perl等);
//3.对多线程环境编程有一定的理解,能独立完成服务器端模块的开发、维护和优化;
//4.熟练掌握MySQL数据库的开发维护、性能优化;精通数据库设计;
//5.熟悉TCP/IP协议,精通Socket协议,了解分布式负载和集群类型的服务器框架结构;
//6.精通网络编程并有高并发系统的开发经验;
原创文章 33 获赞 51 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_21950929/article/details/79984429