服务器端开发是开发者中技术性偏强,对逻辑思维要求更高的一个细分方向,不同于前端,移动端等等,后者很多在做偏UI的事情,而服务器端处理的只有逻辑和业务。所以从长远的职业规划来讲,从事服务端开发作为技术道路的起点对长期是很有利的。
web服务器端根据服务的种类会逐渐细分:小型公司小型业务一般是简单工程化,简单部署,开发选型多种多样(php,Java,Python,Node.js...)这时候招的服务端主要还是看对语言的熟悉程度,一般要求是快速搞定。
中到大型公司随着业务复杂度上升开始进行架构上的拆分,做一些服务化,中间件,近些年又有专门做数据分析(大数据,机器学习)的数据分析师,其实也是从服务器端演化出来的。在一些公司中甚至web容器的业务逻辑开发(本人做的事情)被称为前端,而真正的后端是做数据分析、推荐系统、算法支持等等。这时候招聘web服务端往往要求业务架构能力,如何解耦和模块化一个工程,如何做分布式。
内功篇
实际上普通的web服务端开发掌握个语言,学两个框架基本就可以上手了,但是后续提高必须很好的掌握所有相关基础,这个基础就包括了协议层(TCP/IP),操作系统知识。
比如大流量下如何配置nginx服务器参数? 流量进来服务器会有各种各样的问题:连接恢复的连接风暴、高并发秒杀型应用如何做限流、内存吃紧如何优化、连接数cpu内存各种被占满如何分析瓶颈在哪?这时候只知道几个框架的人完全是一头雾水,必须从计算机的更底层去分析原因。
初入职场先只能面试普通服务器端开发(非资深)攒点项目经验,形成自己的一套分析问题的方法论,设计和架构一个复杂系统的经验。
内功包括:
某一方向的服务器端语言和成熟框架:
建议传统一点的,比如Java,PHP。一些前沿的还不稳定不适合你玩,比如Python、Node.js(Javascript)、GO、scala。必须精通,没得商量。
常用框架需要精通,否则招你进去没法快速上手干活也不会招你。
如Java栈的需要了解Spring, MyBatis, 容器Tomcat,Jetty
扩展
分布式RabbitMQ(ActiveMQ), zookeeper ,hadoop目测以后会成为必备技能,做了解。工具类jar包apache系列:common-lang.jar, common-io.jar, common-bean.jar。搜索ElasticSearch(lucene, solr)
Python栈的需要了解django, Flask 至少其一
PHP栈我只知道一个Lavarel,囧
适当的全栈全栈是趋势,起码要懂一点页面的东西,包括html, Javascript, css
常用的JavaScript框架和标准:CommonJs, jQuery, Bootstrap
扩展(选择性了解):Angular, React, vue, Backbone, zepto (适可而止,一入前端深似海)
相关工具
协作:Git使用
数据库
MySQL必须精通,没得商量。nosql需要了解:MongoDB, Redis, Memcached 原理和基本部署方式和使用方式。
复习数据结构和基本算法
这个程度的面试是会考链表、栈、二叉树、B+树、快速排序的,不能答不出来。
设计模式
需要精通常用几个,了解大部分。比如工厂模式、状态模式、命令模式、装饰模式……
网络基础和操作系统
TCP/IP协议,unix系统使用经验,shell编程等等。。如果你能说出unix的基本启动过程,还有常见的分析问题所用的一些命令,如sar,free,du,top,awk,sed等,Java栈的有jmap,jstat,jstack等应该有加分。
应聘技巧-简历篇
1、专业名词的拼写不要出错,不要写java,要写Java。不要写mysql,要写MySQL。
2、不要一大堆精通xx。看到这种简历我直接pass,摸不清他的底,还得面试好好问问,简历没方向还不知道怎么问。精通什么就是什么,可以写具体一点,比如精通Java可以写精通哪一部分,是socket还是多线程?不了解的就不要写上去了。
3、简历中做足对对方公司的准备。你可以详细了解你要去那个部门是做什么的,当前有哪些产品,产品有什么缺陷,技术的核心价值在哪,技术难点在哪,你在这上面有什么优势。技术一样的情况下,hr喜欢准备充分的人。
4、还是把基础先巩固了再去面试,前面提到几个基础知识不掌握,一般面试都会挂,除非面试官是瞎子。
先写这么多,未来会写写开发面试技巧。
转载链接:http://www.jianshu.com/p/814d05d
分享到:
相关推荐
ASP.NET是由微软公司推出的Web应用程序框架,它构建在.NET Framework之上,为开发人员提供了创建动态、数据驱动的Web应用的强大支持。ASPX是ASP.NET中的默认页面扩展名,用于表示服务器端的Web页面。通过这个迷你...
这些模板可能包括了各种服务器机箱、硬盘驱动器、内存模块、网络适配器和其他关键组件的详细图形,使得IT专业人员可以轻松地用它们来规划和展示服务器部署方案。 在设计服务器机架图时,Visio图标可以帮助用户准确...
### 服务器验收单知识点解析 #### 一、服务器验收单概览 服务器验收单是用于在接收新购入或更新的服务器时进行硬件检查的一种表格文档。它旨在确保收到的服务器及其配件符合预订单的要求,并且处于良好的工作状态...
标题中的“PPPOE服务器测试软件”指的是用于测试和调试PPPOE服务器端功能的工具。这类软件可以帮助管理员检查和验证PPPOE服务器的配置是否正确,确保客户端能够成功建立连接并进行正常的网络通信。 描述中提到的...
随着移动互联网技术的快速发展,特别是3G网络的普及,智能手机已经不仅仅是传统的通讯工具,更成为了接入互联网的重要终端之一。在这种背景下,如何让Android手机有效地与Web服务器进行数据交互变得尤为重要。本文...
服务器日常巡检记录表 服务器日常巡检记录表服务器日常巡检记录表
在信息化时代的浪潮中,服务器作为信息存储和处理的核心部件...未来,随着技术的不断进步和服务器产品的更新换代,安装配置方法亦将随之改变,用户应保持对新技术的敏感度,及时更新知识库,以适应不断变化的技术环境。
3. **淘宝网**:淘宝是中国最大的电商平台之一,其服务器时间对交易、库存更新和各种促销活动至关重要。用户在参与淘宝的秒杀活动时,精确掌握服务器时间可以提高抢购成功的机会。 4. **抢购秒杀**:秒杀是商家为了...
RTSP(Real Time Streaming Protocol,实时流媒体协议)是一种网络控制协议,用于在IP网络上控制流媒体服务器。它是由RealNetworks、Netscape和Apple共同提出的,旨在控制音频和视频流的传送。RTSP通常用于流媒体...
在Linux环境下,构建一个最小的RTSP(Real Time Streaming Protocol)服务器是一项有趣且实用的实践,对于想要深入了解网络流媒体协议以及系统编程的初学者来说尤其有价值。RTSP是一种应用层协议,主要用于控制实时...
随着信息技术的发展,服务器已经成为企业信息化的重要组成部分。为了确保业务的正常运行,对服务器性能进行监控显得尤为重要。本文将详细介绍如何对Windows服务器进行性能监控,主要包括内存监控、CPU监控以及磁盘...
本书系统、全面地介绍了linux系统中服务器的架设和配置方法,全书共分16章,内容包括linux简介和安装、linux基本网络配置、linux防火墙、远程控制、nfs和nis、dhcp服务器、web服务器、ftp服务器、电子邮件服务器、...
一个以前写过的文件服务器部分程序原码(业余开发人员) 使用WCF实现服务端 支持在线编辑所有文件(Word,excel,powerpoint,txt,rar等),文件上传,移动,删除等 可以实现文件集中管理,为指定用户提供如:查看,编辑,再授权,...
总的来说,这个C#版的HTTP服务器源码提供了一个基础的模板,用于开发人员快速搭建自己的HTTP服务,特别适合在WINFORM应用程序中集成。通过深入学习和理解这段代码,你可以掌握异步编程、网络通信以及并发控制等核心...
在提供的“网络专题之ftp服务器”文件中,可能包含了具体的代码示例、配置文件和详细的步骤指导。通过阅读和学习这些资料,开发者可以更好地理解如何在实际项目中应用上述步骤。 总的来说,STM32红龙103开发板上的...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC)库来实现FTP(File Transfer Protocol)客户端和服务器。FTP是一种广泛使用的网络协议,用于在Internet上交换文件。MFC是微软提供的一种C++类库,...
在IT行业中,网络编程是构建分布式系统和网络应用的基础,而C#作为一种强大的面向对象的编程语言,提供了丰富的API来支持TCP和UDP协议的服务器开发。本资源包含使用Socket类库以及TcpListener和UdpClient类实现的...
在Android应用开发中,用户身份验证是至关重要的环节,它涉及到客户端与服务器端的交互,确保用户的安全登录和注册。本示例项目“android登陆注册客户端与服务器端程序”提供了一个完整的解决方案,覆盖了从客户端...
在本文中,我们将探讨如何利用STM32F407微控制器和LWIP(Lightweight IP)库来搭建一个简单的Web服务器,并通过LAN9303以太网控制器连接网络。 首先,LWIP是一个开源、轻量级的TCP/IP协议栈,适用于资源有限的...
在IT领域,尤其是在服务器管理中,Dell服务器的硬件组件,特别是硬盘驱动和RAID(冗余磁盘阵列)控制器的驱动程序扮演着至关重要的角色。本文将深入探讨Dell服务器硬盘驱动和RAID驱动的相关知识,以及它们在安装...