后台开发知识点

面面俱到很难,一个领域钻研的很深也很难。我认识的大神里有把C++语言吃的非常透的,也有实验室就是搞分布式的,拿offer都非常轻松。

博客(C++后台/基础架构)

http://www.linya.pub/

web服务器开发

直接看muduo的代码去学习吧,但你可以看看我markdown里总结的东西,看一下我做了什么,另外这个也只是帮我应对了春招实习招聘,作为一个例子供大家参考。

https://github.com/linyacool/WebServer

下载书籍

1.《十五个经典算法研究与总结、目录+索引(by_...》.pdf

2.《后台开发 核心技术与应用实践》.pdf

腾讯员工写的,听说评价不怎么样,可以当作cpp后台面试提纲。

3.Linux多线程服务端编程:使用muduo C++网络库.陈硕(详细书签).pdf

当析构函数遇到多线程──C++ 中线程安全的对象回调(最新版见《Linux 多线程服务端编程》第1章)

多线程服务器的常用编程模型(最新版见《Linux 多线程服务端编程》第2、3章)

《Linux 多线程系统编程精要》(第4章)

Muduo网络库使用手册(2012-06-26更新,最新版见《Linux 多线程服务端编程》第6、7章)

《Linux 服务端网络编程精要——Muduo 网络库的设计与实现》(第8章)

《分布式系统的工程化开发》(第9章)

C++ 工程实践(2012-04-20更新,最新版见《Linux 多线程服务端编程》第10、11、12章)

网络编程学习经验(2012-02-13更新,最新版见《Linux 多线程服务端编程》附录A)

从《C++ Primer 第四版》入手学习C++(2012-07-11更新,收入《Linux 多线程服务端编程》附录B)

https://github.com/hoshinotsuki/documents

https://blog.csdn.net/Solstice/article/details/6206154

3.1 教程 D:\资源\教程\陈硕网络编程实践1116mins

2019/2/25 更新


1.c++工程师 百度

书和刷题和春招实习

  • 语言:《c++ primer》《stl源码剖析》《深度探索C++对象模型》

    • 面试考点集中在虚函数、虚继承、vector等容器的底层实现以及一些c++新特性上。

  • 网络:《计算机网络》
    • 这本书足够应对所有面试了,主要考点在TCP和UDP区别,TCP三次握手、四次挥手。

  • OS:《现代操作系统》
    • 我的经验是有时间就看书,没时间就看网上博客,因为操作系统的书一般都讲的比较晦涩难懂,不如一些好的博客讲的更容易让人理解。面试题主要集中在文件系统、进程线程、进程间通信、线程同步、程序内存空间这几个方面。

  • 算法:《剑指offer》和《leetcode在线编程训练》,几乎算是刷完了吧。
    • 二叉树和排序相关算法考的最多,其次是深度优先遍历、回溯和动态规划。排序算法比较常考的是快排、堆排、归并排,还有基于快排和堆排思想的topK算法(这些都要会手写)。二叉树主要是树的前、中、后序遍历(递归和非递归,最好能手写),层次遍历,树上两个节点最远距离、树和有序链表互相转化,两节点最近公共父节点,其他还有许多,暂时想不起来了。深度优先遍历(dfs)、回溯、动态规划主要是笔试题用的多,不过最好能够手写一些经典算法,比如01背包、最长公共子序列以及其推导公式。如果感兴趣的话可以了解一下dfs、回溯、贪心以及动态规划之前的联系和区别。

  • Linux:《linux多线程服务器编程》
    • 这本书主要是可以多了解一些概念,包括socket编程、各种同步锁。除此之外可以看看博客学习一下io多路复用、负载均衡、一致性哈希、线程池、对象池、任务队列等等。

  • 数据库:《redis设计与实现》《高性能mysql》
    • c++面试对于数据库的要求没有java高,我遇到的面试题主要是,redis的5种数据类型、redis的单线程实现、redis集群高可用;mysql引擎、索引、事务特性、隔离级别、脏读、幻读等。

  • 大数据和机器学习
    • 这两点只是面试中的加分项,时间充裕的话可以了解一下,在面试中如果有相关经历,面试官会觉得你是一个很全面的人,适合以后培养。
  • 实习:
    • 春招先后在百度和腾讯各实习了3个月,3月份先去了百度的互联网数据研发部,做一些页面特征的提取策略,包括文章评论量、收藏量等;后来6月份去了腾讯的兴趣阅读产品部,做的是推荐系统架构和一些前端的东西。实习对秋招的帮助主要体现在,实习经历是很多公司秋招提前批的优势条件。面试官会关注你在实习公司的工作表现,在面试时是个很不错的加分项。同时,实习还能扩展视野,从产品和技术两个方面理解一个实际项目是如何构思以及落地的。 关于实习,我的建议是能去就尽量去吧。不过我身边也有许多没有实习经历也能拿到大厂offer的,这个还是要看个人。如果能够去实习的话,我的建议是不要频繁的更换实习公司,一定要把自己的实习内容理解透彻,不然面试的时候反而会不利。

时间安排

1. 一个月学习语言

2. 两个月学习算法加刷题

3. 两到三个月学习操作系统、数据库以及其他知识顺带刷博客和面经,半年时间差不多就可以找个比较不错的工作了。

根据个人实际情况,可以调整自己的学习计划,我在这里只是一个很初步的建议。对于想要拿到BAT级别以及更好的offer的同学可以在在自己感兴趣的方向深挖一下,面试的时候主动引导面试官往自己擅长的方向提问。

offer选择

我对于offer选择的建议是部门 > 平台 > 薪水,在薪水相差不大的情况下,尽量去大厂或者核心部门吧。


20春招汇总 2.25


鹅厂。

c++后台开发 准备材料的更多相关文章

  1. 给大一的学弟学妹们培训java web的后台开发讨论班计划

    蓝旭工作室5月大一讨论班课程计划   课时 讨论班性质 讨论班名称 主要内容 主讲人   第一讲 先导课 后台开发工具的使用与MySQL数据库基础 后台开发工具的基本使用方法与工程的创建,MySQL数 ...

  2. discuz后台开发常用函数

    showsetting()表单显示 返回值:无 参数: $setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname ...

  3. php后台开发(二)Laravel框架

    php后台开发(二)Laravel框架 为了提高后台的开发效率,往往需要选择一套适合自己的开发框架,因此,选择了功能比较完善的Laravel框架,仔细学来,感觉和Python语言的框架Django非常 ...

  4. php后台开发(一)hello world

    php后台开发(一)hello world 环境安装 开发环境为Ubuntu 12.04,选择linux+apache+php的开发环境 安装 apache2 sudo apt-get install ...

  5. Linux后台开发面试问题汇总

    个人从事安全后台开发,当然是linux环境下的了.举几个常见的问题.1. 数据结构基础.比如实现一个最简单的哈希表.2. 操作系统基础.linux进程模型,堆/栈的区别,大概的位置,各往哪个方向生长, ...

  6. 携程Java后台开发三面面经

    前言 携程是我面试的第一个互联网公司,投递的岗位是后台开发实习生,总共面了三面,止步于人才库.中间兜兜转转,复杂的心理活动,不足与外人道也.唯有面试的技术部分与大家共享. 宣讲会完了之后有个手写代码的 ...

  7. SpringBoot技术栈搭建个人博客【后台开发】

    前言:在之前,我们已经完成了项目的基本准备,那么就可以开始后台开发了,突然又想到一个问题,就是准备的时候只是设计了前台的RESTful APIs,但是后台管理我们同样也是需要API的,那么就在这一篇里 ...

  8. JavaWeb网站后台开发记录手册

    1.javaweb网站后台开发 1.封装DBTools类 1.注册数据库驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); 2 ...

  9. Golang后台开发初体验

    转自:http://blog.csdn.net/cszhouwei/article/details/37740277 补充反馈 slice 既然聊到slice,就不得不提它的近亲array,这里不太想 ...

随机推荐

  1. MarkDown 语言简单使用

    # Markdown file ![alt img is error](http://cdn2.jianshu.io/assets/web/logo-58fd04f6f0de908401aa561cd ...

  2. es6变量解构赋值的用途

    这里是我觉得es6解构赋值,在平时我们写js的时候非常有用,而且经常用到的地方,能简化我们的代码,让写代码简介优雅易读; 用途 1.交换变量的值,太方便了这逼,写法不仅简介而且一看就明白 let [x ...

  3. 如何开放 Azure 虚拟机 Ping 功能

    前言 文章<使用 PsPing & PaPing 进行 TCP 端口连通性测试>中提到,ICMP 协议的数据包无法通过 Azure 的防火墙和负载均衡器,所以不能直接使用 Ping ...

  4. python闭包&装饰器&偏函数

    什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数.这个被引用的 ...

  5. redis缓存技术在java中的应用

    https://blog.csdn.net/zhh1072773034/article/details/78538012

  6. 用AutoHotkey一键完成Xmind里的几个功能

    F5一键添加超链接(类型为主题),常规步骤:Ctrl_h打开窗口,点击[主题],激活光标到输入框. Ctrl-i一键添加截取的图片,常规步骤是:打开画图→粘贴→保存图片为文件→Xmind里Ctrl-i ...

  7. 笨办法学Python(四十一)

    习题 41: 来自 Percal 25 号行星的哥顿人(Gothons) 你在上一节中发现 dict 的秘密功能了吗?你可以解释给自己吗?让我来给你解释一下,顺便和你自己的理解对比看有什么不同.这里是 ...

  8. 一点一点学写Makefile-1

    相信很多Linux开发者 都得自己来写Makefile,刚开始学习学写这个的时候都会碰到很多困难,我之前没有自己独立完成过Makefile,都是在公司已有的模板上添加.现在突然有一个很大的想法就是从零 ...

  9. netbackup 8.1安装前注意事项

    一.NetBackup 主服务器的 Web 服务器用户/组设置步骤 文章 ID:100034818 上次发布时间:2017-08-24 产品:NetBackup   问题 从 NetBackup 8. ...

  10. 如何使用MiniProfiler(附最新版MiniProfiler使用心得)

    MiniProfiler这个工具早就久仰大名,不过之前一直没有动力去用,正好最近手上有个ASP.NET MVC的项目,正好拿来试试手,下面是使用最新的4.0.138版本的心得体会以及踩到一些小坑的解决 ...