开放问题
没有明确的标准答案
其目的都是考核学员的编程经验,应变能力,耐压程度等
软件出现Bug怎么办? 说说你项目中出现的Bug?
问题目的: 看看你是否有熟练的项目经验
1. 写项目当然有很多Bug了,每天都要解决很多。
2. 很多都是小错误,真不值得说,如错了一个字母啥的
3. 印象最深的? 文件夹路径有空格
如何解决错误的?
1. 要具有良好的编码规范!!!
2. 要搞清楚程序的执行流程,还要知道流程的关键环节的数据。
3. 要先看清楚软件的错误提示。
4. 在关键流程点上使用打桩语句或者Debug,输出数据。
5. 将数据与心中理想数据比较,如果错误就说明关键点前的代码错了,如果对了就向后续流程查找错误。
6. 如果是框架中奇葩问题,可以利用网络搜索。
软件慢了怎么办?
0. 先进行定量测量。
1. 数据库方面:
1. 利用索引优化查询性能
2. 减少使用 like
3. 优化SQL
2. 在数据层对固定数据进行缓存, 存储到内存中
3. 业务层,将一些for循环顺序查询,更新为散列表或者TreeMap
4. 表现层,WEB可以进行动静分离,将静态资源(js,css,jpg等)与动态资源分离 jsp,json 分别部署到不同服务器。利用多服务器并发提高性能
5. 使用CDN,内容分发网络
6. 等等
当在浏览器地址栏中输入了URL打入回车以后发生了什么?
1. 浏览器会利用操作系统 hosts 文件解析域名
1. localhost 就是通过 hosts 文件 解析为 127.0.0.1 本地地址的。
2. 再向 DNS 服务器发起解析请求
1. DNS服务器会进行全球查询解析IP
2. 如果解析不到,则返回 无法访问此网站
3. 解析成功,浏览器向目标服务器80端口发起TCP连接
4. 连接成功或发生HTTP请求。
5. 服务器端
1. LVS + Nginx 分发到应用服务器
2. 也有cdn缓存
3. 应用服务器会处理器请求,返回响应
6. 浏览器收到响应,解析显示网页。