V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
honmaple
V2EX  ›  程序员

后端需要学什么?

  •  
  •   honmaple · 2015-12-27 01:29:26 +08:00 via Android · 12604 次点击
    这是一个创建于 3255 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原谅我问了这么 low 的问题,实在是最近不知道学什么,很迷茫。
    先说明情况,我学的是 python 的 flask 框架,因为之前自学过 python ,所以最近一个多月跟着 flask 文档边学边写了一个网站,网站地址 https://honmaple.com(写的很 low ,见谅),问题是现在网站基本完成了,却不知道接下来该怎么做,我知道对于后端应该是优化,可问题是该怎么优化,作为后端应该做什么?

    我自我总结一下现在技能, html/css 能看懂并简单修改,虽然使用 linux 作为主系统,但也只停留在用上,只会写简单的 shell 脚本,如果要搭建什么服务还得借助 google , python 上写过简单的爬虫,用的 beautifulsoup+lxml 抓取豆瓣读书等,接下来就是 flask 了。数据库上也只是会简单的创建插入选择更新等基本语句(postgresql)

    虽然不应该为了学而学,但总要有一个学的方向,请教各位大神,如果我要应聘 python 后端的岗位,还需要了解什么知识,对于网站的后端又应该怎么优化?
    后端该不会还要学运维吧?
    38 条回复    2016-04-02 22:18:25 +08:00
    cxbig
        1
    cxbig  
       2015-12-27 02:16:14 +08:00   ❤️ 11
    精通一门后端语言:
    *实现各种业务逻辑
    *对接各种数据库( MySQL 、 PostgreSQL 、 MongoDB 、 Neo4j ……)
    *提供 API ( SOAP 、 RESTful )
    *捆绑搜索引擎( solr 、 sphinx )
    *捆绑各式 cache 服务( Redis 、 Varnish 、 Memcached ……)
    *提供 cluster 扩展解决方案
    ……

    懂运维最好,要知道如何在各种平台部署(自建服务器群、 AWS ……),他们的优劣又是什么。
    movtoy
        2
    movtoy  
       2015-12-27 03:31:10 +08:00
    找工作,不是先去学 PHP ?
    sirgod
        3
    sirgod  
       2015-12-27 07:21:52 +08:00
    直接去应聘吧,工作中需要啥再学
    kingcos
        4
    kingcos  
       2015-12-27 07:49:41 +08:00 via iPhone
    也想问这个问题,大家都问确定学习的路线的?是按部就班,还是走着瞧。。。
    Rice
        5
    Rice  
       2015-12-27 08:31:11 +08:00
    我以前自学前端,对着招聘要求学。
    hqs123
        6
    hqs123  
       2015-12-27 08:37:28 +08:00
    可以看看网上的后端招聘要求就大概知道要学哪些东西。
    USDBUS
        7
    USDBUS  
       2015-12-27 08:51:50 +08:00
    必需是 PHP 啊
    znoodl
        8
    znoodl  
       2015-12-27 09:18:27 +08:00 via iPhone
    对我来说带界面的都是前端,只提供接口才叫后端
    kx5d62Jn1J9MjoXP
        9
    kx5d62Jn1J9MjoXP  
       2015-12-27 12:43:20 +08:00
    让人去看招聘要求的也是醉了
    seeker
        10
    seeker  
       2015-12-27 13:07:49 +08:00
    CRUD?
    XD
    lenran
        11
    lenran  
       2015-12-27 14:13:15 +08:00
    C/C++ python java PHP node.js HTML+CSS(5)必会 数据库必学 Linux 必会 各种 nosql 等等多了去了。
    以后都是全栈的
    jugelizi
        12
    jugelizi  
       2015-12-27 14:35:35 +08:00
    可以做写数据处理呀
    比如分词,语义识别,
    高并发的请求优化,缓存呀
    felixzhu
        13
    felixzhu  
       2015-12-27 14:52:27 +08:00
    强烈建议楼主去一个优秀的团队认识优秀的人,你会知道差距的。。。
    honmaple
        14
    honmaple  
    OP
       2015-12-27 15:33:14 +08:00
    @felixzhu 什么意思,我现在还未毕业,只是想趁着在学校多学点东西
    honmaple
        15
    honmaple  
    OP
       2015-12-27 15:34:31 +08:00
    @cxbig oh my god,要懂得这么多
    honmaple
        16
    honmaple  
    OP
       2015-12-27 15:36:05 +08:00
    @movtoy @USDBUS 已经入坑 python,php 暂时不想了
    wgwang
        17
    wgwang  
       2015-12-27 15:36:32 +08:00
    学 python ,来我们公司实习
    lenran
        18
    lenran  
       2015-12-27 15:36:50 +08:00
    @cxbig solr 这个引擎是 java 的
    honmaple
        19
    honmaple  
    OP
       2015-12-27 15:37:07 +08:00
    @sirgod 嗯,下学期准备去找实习,希望能找到
    honmaple
        20
    honmaple  
    OP
       2015-12-27 15:39:17 +08:00
    @Rice @hqs123 网上招聘大多是需要精通 xxx ,但什么程度才算是精通,没什么概念
    honmaple
        21
    honmaple  
    OP
       2015-12-27 15:42:34 +08:00
    C/C++ python java PHP node.js 这些应该只要会一到两门就行了吧
    honmaple
        22
    honmaple  
    OP
       2015-12-27 15:44:08 +08:00
    @wgwang 多谢,这学期还暂时不想找实习
    rming
        23
    rming  
       2015-12-27 15:45:54 +08:00
    @honmaple 工作三年了,表示只会两门
    x87648510
        24
    x87648510  
       2015-12-27 16:05:59 +08:00
    随便挑一门自己喜欢的语言,抛开所有框架去写出自己第一个项目,你就知道后面的路该怎么走了
    lbp0200
        25
    lbp0200  
       2015-12-27 16:08:39 +08:00 via Android
    请看招聘要求
    Allianzcortex
        26
    Allianzcortex  
       2015-12-27 16:28:37 +08:00
    @cxbig 必须加上手动点赞
    iugo
        27
    iugo  
       2015-12-27 17:00:45 +08:00
    SQL, 工程知识.
    Lpl
        28
    Lpl  
       2015-12-27 17:22:11 +08:00   ❤️ 2
    学会背锅其实就行了
    niko
        29
    niko  
       2015-12-27 18:10:36 +08:00
    推荐看一下这个
    《我的 Java 后端书架 2015 年 2.0 版》
    http://calvin1978.blogcn.com/articles/bookshelf.html
    spacewander
        30
    spacewander  
       2015-12-27 18:30:43 +08:00   ❤️ 18
    一个完整的 Web 应用的后端部分包括下面内容:
    服务器( Nginx 等等) -> 应用( Flask 等等) -> 缓存( Redis 等等) -> 数据库( Postgre 等等)
    (一个复杂的 Web 应用的后端部分可能还包括消息队列,定时任务,还有各种奇奇怪怪的组件,不过这不是重点,跳过)

    目前你已经懂得了应用和数据库,可以看下另外两个组件:服务器和缓存。

    另外,我觉得后端的技术宜深不宜多。看你的样子好像离毕业还有几年,近期没有找工作的压力。而且 Python 后端开发的招聘需求还是挺多的,没有变成“屠龙之技”的担心。所以可以考虑下把相关的技术往深里学,只专注于 Python 这一点。

    怎么往深里学呢?

    * 把 Postgre 官方文档过一遍,知道 CRUD 之外的事项,比如索引 /事务 /高级的特性等等。
    * 把 Flask 源码看一遍,知道这个框架背后帮你搞定了哪些东西。
    * 阅读知名 Flask 插件或应用的源码,知道它们是如何解决问题的。
    * 订阅 Python 后端开发相关的 reddit 看板 /邮件组,理解他们日常讨论的话题,并把这些话题也变成你日常思考的一部分。
    * 在各种论坛上帮助解决各种 Nginx/Redis/Postgre/Flask 相关的问题。

    下面是深水区,只有你已经完成了上一部分的练习后才能继续:
    * 在 Stackoverflow 上回答 Flask 等相关的问题。
    * 参与 reddit 看板 /邮件组的讨论。
    * 写写博客,谈论自己对 Python 后端开发的思考。

    另外,如果楼主就业是想去大公司,需要进行一些竞技编程的练习,比如刷刷 leetcode 等等。如果楼主就业是想去小公司,需要了解下运维相关的内容。

    最重要的一点是,不管是去哪里工作,用什么技术,一个后端工程师都必须有扎实的计算机网络和操作系统、数据库理论的知识。这方面建议阅读各领域的经典作品,以及一些触及最新前沿的优秀书籍 /文章。
    konggu
        31
    konggu  
       2015-12-27 21:44:58 +08:00
    来,来,来跟我做 wordpress 开发
    lenran
        32
    lenran  
       2015-12-27 22:18:40 +08:00
    @honmaple python 或 java 或 nodejs 都可以用来分离 MVC ,而 C/C++可以用来扩展库
    kylinj
        33
    kylinj  
       2015-12-28 00:32:52 +08:00 via Android
    发现楼主网站页脚是 JiangLin😂是真名么,是的话我想说我比你多个 g
    PublicID
        34
    PublicID  
       2015-12-28 00:57:14 +08:00
    session , cookie , web 基础概念
    youngitachi
        35
    youngitachi  
       2015-12-28 14:26:24 +08:00
    @niko 看不了啊
    honmaple
        36
    honmaple  
    OP
       2015-12-31 13:23:21 +08:00
    @spacewander 谢谢
    honmaple
        37
    honmaple  
    OP
       2015-12-31 13:24:06 +08:00
    @kylinj 一个不小心暴露了
    wind3110991
        38
    wind3110991  
       2016-04-02 22:18:25 +08:00
    感觉国内的公司来看,“后端”也分 服务器型纯后端和 web 后端吧, web 后端的话推荐 php 多些毕竟普及很广,前一种的话, Java 和 C/C++基本功要扎实,反正这是语言层面上
    基础的话,计算机网络,数据库还有数据结构知道要能支撑你
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3011 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:07 · PVG 22:07 · LAX 06:07 · JFK 09:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.