美文网首页我的Spring MVC公司管理提高开发
应届毕业生如何成为一名服务器端开发工程师(一)

应届毕业生如何成为一名服务器端开发工程师(一)

作者: 纳达丶无忌 | 来源:发表于2016-05-05 17:46 被阅读11246次
    画个图很重要

    服务器端开发是开发者中技术性偏强,对逻辑思维要求更高的一个细分方向,不同于前端,移动端等等,后者很多在做偏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. 还是把基础先巩固了再去面试,前面提到几个基础知识不掌握,一般面试都会挂,除非面试官是瞎子。

    先写这么多,未来会写写开发面试技巧。

    相关文章

      网友评论

      • 6cc01719e0fe:不错不错,收藏了。

        推荐下,分库分表中间件 Sharding-JDBC 源码解析 17 篇:http://t.cn/R0UfGFT


      • 简单的土豆:在我们公司Java工程师 从数据库设计->后端API开发->页面(JS模板引擎或Java模板引擎来渲染)->CSS调整->Linux应用部署全要干。。,安卓和IOS就比较爽了,调用接口做做视图...
        简单的土豆:@酸辣土豆芽 还得写TM的各种设计文档
      • d9f04b2e1bcb:正在学习这方面的
      • WeWrite:国内的python,确实可悲。不过希望以后Rust来个All in one的颠覆与大统一吧,就不用这么多程序员还有所谓的"架构师"乱来什么的。
      • 291572210874:不是计算机专业的,只会点php
        感觉压力山大啊
      • 一里山:很全面
      • e9e4cd15bad3:表示正在找工作,有些方面确实答不上来,还有的东西知道怎么回事,用语言组织不起来
      • e9a44a336dfe:现在的标题,基本都要靠刷眼球来拼点击量了。
      • Jesse___2134:一入前端深似海!😂😂😂!!!从Java后端,转移Node.js,JS,主要负责前端逻辑,从此跳坑里出不来了…
        Jesse___2134:@左蓝 😂😂😂听起来好高大上
        左蓝:@Jesse_2134 你这都是全栈了,笑。

      本文标题:应届毕业生如何成为一名服务器端开发工程师(一)

      本文链接:https://www.haomeiwen.com/subject/elbdrttx.html