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.精通网络编程并有高并发系统的开发经验;
  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值