项目周期?
答:项目周期为3-4个月。
项目团队有多少人,如何分配的?
答:项目团队一般由6-10个人组成,4-5个人是java后台的,1-2个是前端,2个产品。
在项目中充当什么样的角色?
答:在项目中的职位是组员或者组长,主要负责开发功能模块,后期配合测试修改bug。
看工作时间与入职的时间,在一家公司入职时间少于1年并且从事开发少于2年很少有机会担任小组领导
项目中遇到的最大的问题是什么?
答:这种问题不要说一般的错误,尽量说业务上的问题。例如:单点登录的时候如何解决多系统之间用户登录信息同步以及用户信息共享;登录需要发送短信验证码的时候如何保证消息到达率是100%;如何实现redis与数据库信息同步;开发环境程序正常,生产环境程序bug等。
如何保证所负责与需求相符合?
答:在做模块之前,与产品经理确定好需求,再与项目负责人确定好技术选型应用,在开发过程中遇到业务问题与产品经理和项目负责人及时沟通。
你觉得做商品模块(首页展示、轮播图、购物车、单点登录、订单)时的难点在哪里?
答:商品模块:添加或者修改商品时,数据库、redis、静态页面如何同步信息。
购物车:添加的商品数量与库存数量的对比。商品价格变动同步。购物车的存储。
单点登录:如何进行多系统之间的信息交互。(主要指验证登录信息)子系统如何保证登录信息的安全。
订单:商品数量与库存的同步,商品价格的准确性。提交订单的方式,如何验证订单。
所负责模块里有哪些功能?(不要上来就说增删改查)
答:商品模块的功能:添加商品时,商品图片的上传以及存储,商品价格确保准确性,商品的上下架。也可以简单介绍下查询的各种条件或删除的各种条件。以及商品信息同步(数据库、redis、静态页面等),商品id的生成规则。
在项目开发过程中遇到不会的功能是如何处理的?
答:技术问题:首先是谷歌,在网上查看各种资料以及博客。其次是与同事交流。最后再去找领导。
业务问题:业务问题首先找经理沟通,技术问题首先google百度
项目中前台与后台是如何进行数据交互的?
答:ajax,http请求,socket。
如何实现数据库与redis同步?
答:用消息队列mq实现。具体操作是在添加或者修改数据的时候,用mq来同步到数据库与redis,加上事务,确保reids与数据库数据一致。
在项目开发过程中还有哪些工作内容?
答:与项目经理去客户公司确定用户需求,与同事配合完成单元测试,与测试人员配合完成测试并修改bug,bug提交
项目共有多少张表?所做模块用到多少张表?表与表之间的关系?
答:180-220(选一个具体数值)。
商品模块:商品表,库存表,品牌表,分类表,商品详情表,规格表,图片表,商品排序表,商品筛选表,图片资源类型表,图片资源表,商品日志表,晒单图片说明表。
购物车:商品表,品牌表,分类表,库存表,用户表,库房表,购物车表,购物项表,优惠券表,商品推荐表。
订单:订单表,用户表,用户地址表,商品表,品牌表,分类表,库存表,库房表,地区表,物流信息表。
登录(后台):用户表,权限表,角色表,用户角色表,权限角色表,日志表。
插入商品的话,要求级联插入几张表,你们当时是怎么实现的?
答:商品表,商品详情表,库存表,图片表,日志表。
项目中用的注解开发还是手动注入?分别如何实现?为什么?
答:注解开发,在类、属性、方法上写注解。因为项目中需要配置的太多,用注解可以简化开发。
1.
错误日志的处理?项目中的日志文件存在哪里?保存多长时间?
答:看日志大小存放, 一般是15天或者30天。存放在一个单独的服务器目录。
1.
生产环境与开发环境在上线部署的时候应该如何配置?
答:生产环境:
1、上线之前备份之前的项目
2、修改上线项目的相关配置
3、关停服务
4、替换之前的项目
5、启动服务,观察日志,是否异常
1.
开发时数据库中数据从哪来?数据量有多大?
答:开发时数据库数据部分来自客户或者运营,部分自己添加,部分来自网络爬虫扒的数据。
1.
如何保证库存?
答:用mq+redis。
1.
如果日志存储量过大如何处理?
答:定期清除日志,日志一般存放在另一台服务器上,15-30天清理一次。
1.
在项目开发过程中如何进行测试?压力测试如何做?
答:对自己所负责模块进行单元测试,然后交给公司测试人员进行测试。一般压力测试都是测试人员做,Visual
Studio 自带的工具,还有Loader
Runner(LR),轻量级的工具有Apache项目中的ApacheBench。
1.
项目的并发量有多大?用了多少台服务器?
答:并发量500-1000,服务器数量一般是10-20台左右,具体数量看图
{width=”6.393055555555556in”
height=”3.770138888888889in”}
1.
在项目中,是如何分配开发任务的?
答:开会时,由项目经理与组长分配到个人需要负责开发的功能模块。
1.
项目中的技术选型的依据是什么?
答:1.什么技术更适合当前项目的业务需求,例如互联网项目查询条件比较多,数据库框架选用mybatis;传统项目查询条件比较单一,选用hibernate比较合适。
2.如果两个技术都适用于项目,就看架构师更熟悉哪个技术,因为如果大部分开发人员都不会,企业会负担很高的学习成本。
1.
项目的安全问题是如何解决的?
答:单点登录用token来校验。或者可以说有专门负责项目安全的人员。或者说花钱买服务。
环境安全:初期通过购买云服务
程序安全;token +签名
1.
用户分为几种?每种所对应的权限?权限具体是如何实现的?
答:一般后天项目中普通用户、普通管理员、超级管理员。用shiro框架具体实现。
普通用户:访问。普通管理员:管理后台信息。超级管理员:所有权限。
1.
电商项目是否上线?用户量有多少?
答:可以说上线(找一个地方性的小型电商网站)或者测试没有完成,项目还没有上线。可以说用户量有日活量:几千。
1.
商品的属性是如何进行存储的?
答:需要存储到商品表,商品详情表,库存表,日志表等。
1.
工作之余有没有在研究一些流行的技术?
答:有,再看一些技术博客。比如说跨域,如何解决高并发,不同系统之间的通信。
1.
在项目中如何实现页面跳转并把当前页面数据传递到跳转页面?
答:把要传递的数据放在request域中(转发)。
1.
所负责模块的查询都有那些条件?那些是静态条件、哪些是动态条件?
答:商品的价格区间,商品的品牌,商品的分类,型号,颜色,大小,男/女,商品名称。
静态条件:商品的价格区间,商品的品牌