首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
公司新人培训-后端技能树
时间:
2016-03-02 13:10:52
阅读:
343
评论:
0
收藏:
0
[点我收藏+]
标签:
1、前端篇:
基本的 JS 与 CSS至少需要有一个大概的认识
基础
常见的状态码 与 后端相应的错误排查
301与 302的区别
304如何产生与如何避免
…
JSONP 与 JSON
构造一个jsonp的请求的方式
原生的如何构造
jquery如何构造
…
构造一个jsonp响应
AJAX
如何构造一个AJAX请求
原生的如何构造
jquery如何构造
….
跨域的几种处理方式
场景
同主域不同子域
不同主域
处理方式
iframe
代理请求
script元素的src属性 ( jsonp )
cookie.setDomain
后端设置P3P头响应
….
COOKIE
cookie的作用
cookie 与 后端的 session 的区别
httponly的cookie有什么作用
描述一段URL包含了哪些信息
http://www.baidu.com/s?wd=Hi#heiheihei
进阶
各种header的含义
HTTP/HTTPS的抓包
浏览器调试工具
anyproxy
httpscoop
fiddler
wireshark
charles
HTTP的长轮询
XSS
websocket
快速模拟一次HTTP请求
熟悉一些MVC的前端框架
浏览器插件
node-webkit
2、基础知识篇
好了终于从前端请求经过网络到达了我们的服务器,开启了漫长的后端之旅
请求会先到达我们的web服务器(nginx),再由nginx判断是静态请求还是需要转发到我们的应用服务器(tomcat)上进行逻辑处理
WEB服务器
Apache
Nginx
nginx的分支
teginx [SLB服务器在用]
openresty [爬虫模块]
为什么nginx会称作反向代理服务器
当nginx代理后端tomcat请求的时候 这个时候就是正向啦. 正反只是相对的不是绝对
server_name 的含义
nginx中的server_name其实就是匹配http请求头中的host
curl -H ‘
host:www.baidu.com’
‘
http://115.239.211.112/s?wd=Hi
‘ 与
http://www.baidu.com/s?wd=Hi
等价
location总结及rewrite规则写法
默认变量的参数作用及含义
nginx的upstream配置
常与默认的负载均衡策略
进阶
会一些简单的ngx方言处理
手动编译并且增加模块
利用nginx搭建一个FQ工具
nginx + lua 进阶学习
nginx处理请求的11个阶段
应用服务器
tomcat
tomcat构成的三部分
JSP容器 把JSP翻译成serverlet
WEB容器 主要用来处理静态资源
Serverlet容器 (名字叫catalina 玩过LOL都知道) 处理server 这就是 之所以叫 tomcat/logs/catalina.out 二不是log.out
基本的网络配置
JVM参数的设置
项目路径配置的方式
配置server.xml
拷贝到webapp
找到JSP生成的java与class文件
jetty
缓存
对象访问的延迟
栈内局部变量(方法内) > 线程缓存(threadlocal) > 堆内缓存(全局变量/ehcache) > 堆外缓存 > 进程外缓存(memcache/redis)
堆内缓存 (常见的缓存框架都是在堆内)
优点 配置简单
缺点 可能会带来GC频繁,降低可用性
堆外缓存
缺点 但是泄露之后比较难排查
优点 没有GC带来的延迟
进程外缓存
优点 程序重启无需重新加载, 支持分布式
缺点 运维能力
…..
缓存的选择没有万金油,一般是根据业务场景选择不同的方式,
优缺点需要自己挖掘,知道原理跟优化方向才是最终目的
线程
线程与进程的区别
守护线程与普通线程
线程调度
分时调度模型和抢占式调度模型
java采用抢占调度优先级高的优先,优先级相等的随机
java中调整线程的优先级需要注意什么
实现线程的几种方式
无返回值的线程
有返回值的线程
JDK提供的几种线程池的使用场景与实现的队
序列化/反序列化
序列化是将对象状态转换为可持久化或传输的格式的过程,相对的就是反序列化
我理解的序列化的最终目的是为了存储与传输
一般讨论这个问题都会围绕几个方面展开
性能问题 时间/空间损耗(比如压缩文件压缩比率越大时间越长)
通用(跨平台) 比如json / xml 比较常见并且可读性比较好
调试复杂度
序列化框架与类库选择
java原生的 (我个人来说没有特殊的需求一般用原生的,稳定可靠,因为系统的可优化程度还没有达到这个级别)
thrift
protobuf
hessian
...
WEB
基础
web.xml中的标签配置
Filter、Servlet、Listener
初始化顺序
功能与应用的场景
Servlet的生命周期
request、session、application的作用域(jsp还包含了一个page)
forward 与 redirect 的区别
MVC框架
struts1
流程比较简单,可以学习核心逻辑然后自己模拟写一个
struts2
出了一个灰常大的漏洞之后就被抛弃了
springmvc
目前公司正在用,我也只是处于会用的阶段,有问题可以一起交流
Dispatcherservlet处理请求的一些流程,涉及到的组件
jfinal
...
框架的产生是为了提升开发效率,提升效率的同时要思考一个问题,你是否了解他的底层原理,或者它是如何架构的
带着疑问去找答案,去调试,收获才是最大
框架始终只是一个工具
模板引擎
jsp
velocity
freeMarker
...
IO流 与 常见的文件操作
文件字符集问题首先要确定好
JDK中 InputStream 与 OutputStream 的几个实现
一般涉及到IO操作的地方
文件读取与传输
RPC框架中的序列化
收集资料描述 文件的顺序读写 与 随机读写的性能差异
buffer类的具体作用
在一个512M内存的JVM中 如何把一个1G的csv文件解析并存储到数据库中
在Serverlet中如何上传/下载文件
nginx 与 spring mvc都有最大上传限制的开关
下载的时候需要设置哪些头,浏览器又是如何知道服务端返回的是下载动作
生成验证码
常用工具类
FileUtils 与 IOUtils
excel
poi
xls
图片
java方面的类库好像不怎么火,主要是jvm在这方面效率比较低吧
graphicsmagick(这个跟java无关,但是我们的一些业务用到了他,所以特别提一下)
3、网络篇
虽然是开发但是有些简单的命令还是要需要知道,尤其是在排查问题的时候能快速定位问题
命令
常用
ping
telnet
netstat
路由相关
dig
route
traceroute
流量相关
ifstat
iftop
如何理解TCP/IP协议中的 IP地址与port
DNS服务 与 本地hosts文件
问题
尝试描述当你在浏览器输入URL并敲下回车之后产生了哪些协议的请求? 比如
http://www.baidu.com/s?wd=Hi
如何在Linux环境下迅速查看某tomcat / dubbo 监听了哪些端口 ? 当前有哪些机器访问
多网卡环境下tomcat 或 dubbo 如何绑定内网
进阶
TCP的粘包与拆包出现的场景与常见的解决办法
尝试用抓包工具抓取一次ARP协议的请求与响应 [记得清理本地ARP缓存]
自勉,前途路漫漫,同志仍需努力啊!!!
公司新人培训-后端技能树
标签:
原文地址:http://www.cnblogs.com/IamRichard/p/5234343.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!