一.linux下查找某个文件办法?
查找名字为test的文件或目录
find ./ -name test
参考:https://www.cnblogs.com/bigbean/p/3669739.html
二.nginx两个tomcat数据如何session共享
1.ip_hash
只需要在nginx的配置文件(nginx.conf)中配置一下ip_hash就可以,只要用户ip不变会始终被反向代理到同一台服务器上,
所以能找到前一次存储的session信息
参考:https://blog.csdn.net/guduyishuai/article/details/70880654
扩展:如何配置nginx+tomcat的集群
参考https://blog.csdn.net/qq_28009065/article/details/78163841
2.采用spring session的方式
我之前用springboot项目集成过spring session,
第1需要在pom.xml中引入spring session的依赖jar包(spring-session-data-redis和spring-boot-starter-redis两个依赖)
第2用@EnableRedisHttpSession来开启spring session支持,可以方在config类上或是application中
第3在application.properties文件中配置一下连接redis的端口号和ip地址
通过以上3个步骤就可以正常使用session了
参考:https://www.cnblogs.com/fengli9998/p/7881331.html
三.电商的商品和货品的区别?
我们之前做电商时没有专门区分过商品和货品,我们当时是分的商品和产品。
商品是具体的某个商品,产品是某类商品的一个统称。
四。git和svn区别?
git是一个分布式的版本控制工具,提交后只是提交到本地仓库了,还需要推送到服务器的git创建。
通过拉取来得代码。如果git服务器硬盘坏了,只需要开发人员将本地的代码推送一份就可以恢复git服务器上的版本控制信息。
git服务器停机时,人员可以提交,等git服务器正常后再进行推送。
git创建分支及合并分支比svn更便捷
svn也是一个版本控制工具,但不是分布式的,svn是集中式版本控制,一旦svn的服务器硬盘坏了,整个版本控制信息都丢了。
如果svn服务器停机时,人员都不能提交代码
参考:https://blog.csdn.net/hymking/article/details/53621908
五.描述下您开发电商系统 模块下的表结构都有哪些
表比较多,我列一下能记住的一些表,比如
1)品牌 表
2)商品分类 表
3)属性名 表
4)属性值 表
5)类别_属性名_属性值的表
6)商品_属性名_属性值的表
7)商品表
六.您之前项目的开发流程?需求是如何获取的
开发流程:
我们公司一般接到项目后,项目经理会和产品经理进行需求分析,在这个过程中也会进行一些需求评审的会议,
需求确定后就会给我们发project项目排期,在上面会给我们每个人进行任务的分解,并且会在项目例会上
对需求进行讲解,明确任务后按排期中的模块进行开发,项目经理会把核心功能的表结构设计出来,
其他模块的表结构我们都是谁负责谁设计,设计完后和项目经理进行讨论确定,数据库没问题就开始开发
前台界面由负责UI的同事出效果图,然后美工将效果图做成静态的html模板,我们后台人员主要负责套模板。
一般前后台都需要写,写完后自测,自测没问题后提交给测试组测试。我们测试用的禅道,有bug测试人员会
给我们开发提bug,我们修改后测试人员再进行回归测试。功能测试完后我们一般会安排1周时间做性能测试
主要用的loadrunner工具,这块有专门做性能测试的同事做。项目中后期,项目经理会配置jenkins
采用jenkins来每天发布版本,系统上线后项目经理会安排1到2个核心人员,密切关注应用的日志,有报错或是测试人员
返回的bug会进行立即修改。再往后系统稳定之后就是留1到2个人员在这个系统做日常维护,有新项目就会安排到新的项目组中
可以概括为:需求分析-》功能设计-》数据库设计-》编码-》测试-》部署上线-》项目交付-》后期维护
需求主要是产品经理或是项目经理给我们提供的,我们一般也不跟客户直接打交道。
七.本地链接mysql数据库工具?
使用的navicat
八.设计表结构,存储以下信息,至少三种表结构设计思想
身份证信息,身份证,正,反面图片N张(怕不清晰所以多张)
1.身份证信息,身份证正面图片(每个图片都是一个地址信息,中间用逗号分隔 ),身份证背面图片(多个用逗号分隔)
2.身份证信息,图片信息(采用json字符串存储)如:{img:[{正面:Y,url:xxxxxx},{正面:N,url:xxxxxx}]}
3.身份证信息,图片1,图片2,图片3,图片4 (采用预留多个图片路径字段的方式)
4.身份证信息单独一张表,单独一张图片表(身份证信息表id外键,图片的路径)
这种方式是建立了主从表,每个图片占一行
九.java技术应对并发都有哪些办法?
1)对于不需要立即获取结果的功能可以采用异步操作。或者采用消息中间件,将由消息的订阅方来处理,减少
当前机器的压力
2)对于查询数据时避免采用悲观锁,尽量采用乐观锁,或者是采用redis分布式锁
3)避免直接查询数据库,尽量采用缓存,除了采用redis进行远程缓存外,还可以结合gava来进行本地缓存也可以提高性能,
即本地缓存和远程缓存相结合。本地缓存没有的再去远程缓存中查找。
4)对于访问量大的页面可以进行页面静态化处理
5)可以采用前后端分离,结合cdn加速
6)系统采用集群,可以通过nginx或lvs来进行负载均衡(采用spring session来解决session共享)
7)数据库可以采用读写分离
8)数据库中大表要建立索引
9)对于like的查询要替换成全文检索(使用elasticSearch)
十.上机题
程序实现对数据排序并按出现次数进行排序(以面向对象方式实现)
{1,4,2,1,3,2,1,4}坐为参数(参数可变)传入java方法中,控制台输出如下结果
1.出现了3次
2.出现了2次
4.出现了2次
3.出现了1次