45

服务端漫游

 5 years ago
source link: https://niannian.cleer.club/category/服务端漫游/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

注:本文内容源自 polaris 在知识星球 Go项目实战 中的直播,已获得本人许可。

第一站:穿梭于Internet

b26vyy7.png!web

第二站:协议

重点掌握

  • TCP/UDP
  • HTTP

常考面试题

  • TCP的三次握手过程
  • TCP的四次挥手过程

推荐书籍

  • 《图解http协议》
  • 《图解TCP协议》

建议用 wireshark 抓包软件进行分析。

第三站:Unix/Linux操作系统

掌握对 Unix/Linux 操作系统的常用操作指令操作,例如

shell
vim
sed
awk

多练习,多总结

网络编程方面需掌握

  • Socket、Unix Domain Socket
  • 进程间通讯

推荐书籍

  • 《UNIX网络编程卷一:套接字》
  • 《UNIX环境高级编程》
  • 《Linux/Unix设计思想》

第四站:Nginx、Apache、Caddy、等Web Server和核心功能

介绍

2MNnyej.png!web

Web Server核心功能

  • HTTP解析
  • HTTPS支持
  • 虚拟主机(一个端口,多个域名)
  • 静态资源
  • URL重写
  • gzip压缩
  • 作为反向代理,和其他进程常用通讯协议的支持

推荐学习了解下 Caddy

第五站:常用的支持Web开发的语言

  • PHP(LAMP、LNMP)
  • Java
  • Python
  • Ruby
  • Go
  • C#(.NET)

另外常用的数据结构和算法要有了解

第六站:数据库

  • 关系数据库:SQLite,MySQL,Postgresql,SQL Server,Oracle
  • NoSQL:Redis,Mongodb,Cassandra,HBase
  • 缓存:Redis,Memcached
  • 其他:Go BoltDB,dgraph,CockroachDB

入门数据库推荐使用 MySQL

推荐书籍

  • 《高性能MySQL》
  • 《MySQL技术内幕InnoDB引擎》
  • 《Redis实战》

第七站:架构

  • 高可用,高性能,可扩展
  • 分布式,CAP理论
  • 分布式消息队列:Redis,ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等
  • 常用的应用场景:异步处理,应用解耦,流量削峰和消息通讯
  • 微服务

写在最后

直播后有个答疑环节,我将此次答疑的收货整理如下:

关于服务端面试

面试考语言的分量比较小,因为服务端涉及的面比较广,需要学习的东西很多,有时候原理比语言更重要。

关于承压

在项目研发过程中,无论是测试还是上线跑,服务端会经常背锅,所以在压力上要及时调整好心态,做好和其他岗位人员的及时有效沟通。

关于未来发展

努力去大公司,做一些大项目,最好流量是千万级别以上的。

学无止境,一起努力!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK