当前位置:网站首页>项目面试题
项目面试题
2022-06-09 08:49:00 【种豆走天下】
项目面试题
需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式。
集群:同一个工程部署到多台服务器上。
优点:1、把模块拆分,使用接口通信,降低模块之间的耦合度。
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4、可以灵活的进行分布式部署。
缺点:1、系统之间交互需要使用远程通信,接口开发增加工作量。
2、各个模块有一些通用的业务逻辑无法共用。
导入依赖的原则:1、所有的工程都需要的依赖应该在聚合工程(taotao-manage)中导入。
2、在使用依赖的最底层导入。
3、运行时所需要的依赖在web工程中加入。人员配置产品经理:3人,确定需求以及给出产品原型图项目经理:1人,项目管理前端团队:5人,根据产品经理给出的原型制作出静态页面后端团队:20人,实现产品功能测试团队:5人,测试所有的功能运维团队:3人,项目的发布以及维护
#{}与${}的区别
#{}:占位符,用于参数传递,可以防止SQL注入
${}:用于SQL拼接
什么是负载均衡高可用
nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。
Redis优点
1.支持多种数据类型存储
2.支持持久化
3.功能丰富
4.简单稳定,基于c语言开发
redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。可以单独使用,也可以将二者结合使用。
1.RDB持久化(默认支持,无需配置)该机制是指在指定时间间隔内将内存中的数据集快照写入磁盘
2.AOF持久化,该机制将以日志的形式记录服务器所处理的每一个写操作,在redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。
二、solr
什么是SolrCloud
SolrCloud是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。
它有几个特色功能:
1)集中式的配置信息
2)自动容错
3)近实时搜索
4)查询时自动负载均衡
solr怎么设置搜索结果排名靠前(得分)?
可以设置文档中域的boost值,boost值越高计算出来的相关度得分就越高,排名也就越靠前。此方法可以把热点商品或者是推广商品的排名提高。
SpringMVC全局异常处理
整个系统只有一个,
使用方法:1)需要实现一个接口HandlerExceptionResolver2)需要在springmvc中配置。处理逻辑:捕获整个系统中发生的异常。1) 异常写入日志文件2) 及时通知开发人员。发邮件、短信。展示一个错误页面,例如:您的网络故障,请重试。.
网页静态化
好处1.有利于搜索引擎优化
好处2.提高访问速度
好处3.解决高并发
静态文件生成的时机:当后台添加、编辑商品时生成静态网页
- mq发送消息
- 接收到消息,生成静态页面
- nginx访问静态页面。
登录的处理流程:
1、登录页面提交用户名密码。
2、登录成功后生成token。Token相当于原来的jsessionid,字符串,可以使用uuid。
3、把用户信息保存到redis。Key就是token,value就是TbUser对象转换成json。
4、使用String类型保存Session信息。可以使用“前缀:token”为key
5、设置key的过期时间。模拟Session的过期时间。一般半个小时。
6、把token写入cookie中。
如何判断是否登录
1.从cookie中取token
2.取不到未登录
3.取到token,到redis中查询token是否过期
4.如果过期,为登录状态
5.没有过期,登录状态
实现购车商品数据同步
1、要求用户登录。
2、把购物车商品列表保存到数据库中。推荐使用redis。
3、Key:用户id,value:购车商品列表。推荐使用hash,hash的field:商品id,value:商品信息。
4、在用户未登录情况下写cookie。当用户登录后,访问购物车列表时,a)把cookie中的数据同步到redis。b)把cookie中的数据删除c)展示购物车列表时以redis为准。d)如果redis中有数据cookie中也有数据,需要做数据合并。相同商品数量相加,不同商品添加一个新商品。
5、如果用户登录状态,展示购物车列表以redis为准。如果未登录,以cookie为准。
浏览器跨域问题
跨域是指从一个域名的网页去请求另一个域名的资源。浏览器出于安全的考虑,不允许不同源的请求
JSONP解决AJAX跨域问题:
JSONP是服务器与客户端跨源通信的常用方法。最大特点就是简单适用,老式浏览器全部支持,服务器改造非常小。
它的基本思想是,网页通过添加一个
海量数据的存储问题如今随着互联网的发展,数据的量级也是呈指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。如果使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储。
创建单线程用来初始化
/** * 初始化门架流量预测数据入库 * */
@PostConstruct
private void init() {
new predictFlow().start();
}
class predictFlow extends Thread {
@Override
public void run() {
List<JSONObject> gantryTz = (List<JSONObject>) redisUtil.get("gantryTz");
for (JSONObject bean : gantryTz) {
Object obj = bean;
Map<String, Object> map = (Map<String, Object>) obj;
if (map.containsKey("f_vc_gantry_id")) {
try {
String gantryId= map.get("f_vc_gantry_id").toString();
HttpClient client = new HttpClient();
URI url = new URIBuilder(APP_URL)
.setPath("/taisl/v1.2/traffic_flow/gantry/forecast/current/query")
.addParameter("app_key", "f4f56da0-4589-11eb-aa8e-5b1ae6b0d7f9")
.addParameter("gantry", gantryId)
.addParameter("group", "taizhou_ZDGKPT")
.build();
GetMethod get = new GetMethod(url.toString());
client.executeMethod(get);
InputStream in = get.getResponseBodyAsStream();
String res = IOUtils.toString(in, "utf-8");
redisUtil.set("predictFlow"+gantryId,res);
} catch (Exception e) {
continue;
}
}
}
super.run();
}
}
边栏推荐
- Configuring the environment for RMAN backups_ Configure the deletion policy for archived redo logs
- Creation of JS class and use of constructor constructor
- [untitled]
- JS realizes three-level linkage
- 48-oidc OP configuration information endpoint
- SQL:体育馆的人流量(连续日期案例通用解决方案)
- Cleaning data ---2022/06/08
- 3D编程模式:依赖隔离模式
- Configuring the environment for RMAN backups_ Configure backup optimization
- Selector misunderstanding
猜你喜欢

Energy management and control system for industrial enterprises helps enterprises strengthen energy management and improve equipment operation efficiency

安科瑞企业微电网能效管理平台推动电网向能源互联网升级

【无标题】

NetCore框架WTM的分表分库实现

Direct application of 10 kinds of question type explosive text title sentence patterns

SQL:锦标赛优胜者

RMAN backup concept_ About RMAN incremental backup

成本节省 50%,9人团队使用函数计算开发 wolai 在线文档应用

SQL:体育馆的人流量(连续日期案例通用解决方案)

如何查看手机绑定过的网站或者APP:注销手机号之前你必须要做的——换绑所有旧手机号绑定过的网站或者APP
随机推荐
Leetcode game 295
Sql: median employee salary
AtCoder Beginner Contest 252
The energy efficiency management platform of the microgrid of the company promotes the upgrading of the power grid to the energy Internet
Acwing game 54
FreeRtos信号量复习
SQL: market analysis I
Hvv蓝队指北
汇编_基础概念
SQL: 员工薪水中位数
ESP32学习笔记【WiFi网络篇】-03TCP-Server服务器连接
编辑器说明-备用
RMAN backup concept_ catalogue
文件排序 (拓展)
The application of the comprehensive energy efficiency management system of ankery in the data center
The fire door monitoring system carries out 24-hour real-time automatic inspection on the status of the fire door
Creation of JS class and use of constructor constructor
Modify PE program entry point
SQL:体育馆的人流量(连续日期案例通用解决方案)
数据库问题MySQL