1.git和svn的区别?
1. GIT是分布式的,SVN不是 2.GIT把内容按元数据方式存储,而SVN是按文件
3.GIT分支和SVN的分支不同 4.GIT没有一个全局的版本号,而SVN有 5.GIT的内容 完整性要由于SVN
2.shiro框架的流程,哪几部分组成?
Subject--主体,是与程序进行交互的对象,可以是人也可以是服务或其他程序,通常理 解用户。所有的Subject实例都必须绑定到一个SecurityManager上,我们与 SecurityManager交互,运行是shiro会自动转化为与SecurityManager交互的特定的 subject的交互。SecurityManager--SecurityManager是shiro的核心,初始化时协调各个 模块运行。然而,一旦SecurityManager协调完毕,SecurityManager会被单独留下,且 我们只需要去操作Subject即可,无需操作SecurityManager.但是需要了解的是当我们与 一个Subject进行交互时,实质上是SecurityManager在处理Subject的安全操作。 Realms--Realms是shiro中作为程序和安全数据之间的“桥梁”或连接器。它用于获取 安全数据来判断subject是否能够登陆,subject拥有什么权限。有点类似与DAO。在配 置realms时,需要至少一个realm.而且shiro提供了一些常用的Realms来连接数据源, 如LDAP数据源的JndiLdapRealm,JDBC数据源JdbcRealm,ini文件数据源的 iniRealm,Properties文件数据源的PropertiesRealm,等等,我们也可以插入自已的Realm 实现来代表自定义的数据源。向其他组件一样,Realms也是有SecurityManager控制
部分有:身份认证.授权.会话管理.加密
Subject:主体 securityManager:安全管理器 authenticator:认证器 authorizer:授权器 sessionManager:web应用中一般使用web容器对session进行管理,shiro也提供一套session管理的方式 sessionDao:通过SessionDao管理session数据,针对个性化的session数据存储需要使用sessionDao cache Manager:缓存管理器 realm:域.数据源
3.Solr cloud的作用
SolrCloud是Slor的基于Zookeeper一种部署方式。主要功能有:集中式的配置信息.自动 容错.近实时搜索.查询时自动负载均衡.自动分发的索引和索引分片.事务日志.索引存储 在HDFS上.通过MR批量创建索引.强大的RESTful API.优秀的管理界面
4.服务器崩溃怎么解决的
1.评估 2.不要过多尝试修复 3.及时与供应商/托管商联系 4.暂时取代 5.使用您的备份数据. 6.测试
5.怎么解决缓存穿透
1.如果查询数据库也为空,直接设置一个默认值存放到缓存,这样第二次到缓冲中获取就有值了,而不会继续访问数据库,这种办法最简单粗暴2.根据缓存数据Key的规则。3.采用布隆过滤器。
6.图片上传哪个服务器存储
图片服务器存储服务器FastDFS
7.类加载机制是什么?
JVM的类加载是通过ClassLoader及其子类来完成的,
1. bootstrap classloader 负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类
2. Extension ClassLoader 负责加载java平台中扩展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包
3. App ClassLoader 负责记载classpath 中指定的jar包及目录中class
4. Custom ClassLoader 属于应用程序根据自身需要自定义的ClassLoader,如tomcat.jboss都会根据j2ee规范自行实现ClassLoader
加载过程中会先检查类是否被已加载,检查顺序是自底向上,从CustomClassLoader到 BootStrap ClassLoader逐层检查,只要某个classloader已加载就视为已加载此类,保证 此类只所有ClassLoader加载一次。而加载的顺序是自顶向下,也就是由上层来逐层尝 试加载此类。
8. synchronized关键字应用场景,static关键字的含义?
使用synchronized(object){代码块}能对代码进行加锁,不允许其他线程访问。
Static关键字可以应用于内部类(在另一个类中定义的类).方法或字段(类的成员变量).
Static关键字意味着应用它的实体在声明该实体的类的任何特定实例外部可用,Static(内部)类可以被其他类实例化和引用,Static字段(类的成员变量)在类的所有实例中只存在一次
9.代码提交方式,怎样不产生冲突,
用svn提交,因为用的是maven多模块建工程,所以提交不会产生冲突
10.公司的开发流程!
按照需求进行开发
需要经过需求获取.需求分析.系统设计.详细设计.模块开发.模块测试.模块整合.上线测试.用户反馈等等。
11.公司主要的业务,公司人员配置
三名后台开发人员 两名客户端开发人员 一名测试人员
12.怎么跟前端交互的,怎么调用接口的,
用ajax异步请求交互,或http请求 接口action调用
13.有没有参与表的设计,参与需求分析和流程开发
有,有
14.有没有写过前端代码!Ajaxs同步和异步的区别!
有过,async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程。
当把async设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),知道function1()部分执行完毕
15.创建线程的方式有哪几种!
有三种方式 继承Thread类 实现Runable接口 实现接口callable future创建线程类
16.Public protected default private四种修饰符之间的区别
public (对任何人都是可用的) protected(继承的类可以访问以及和private一样的权限)
default(包访问权限,即在整个包内均可被访问) private(除类型创建者和类型的内部方法之外的任何人都不能访问的元素)
17.有一批100兆的文件,怎么快速插入数据库,提高效率
利用多线程的方法
18.有一大批接口,需要对数据进行处理,采用什么方式增加功能
利用aop代理前通知实现
19.问String和new String创建了几个对象
String 是一个对象 new String 是两个对象
20.Java的三种特性是?
继承 封装 多态
21.接口和类的区别?
接口是对于功能的抽取 类是一种事物的统称
22.final关键字应用在哪里?
应用在类 成员属性 方法上
23.反射出对象和newInstance的区别?
newInstance 是创建了一个新的对象,反射只是获得了一个已有的对象
24.继承之间的关系,接口的区别,自定义注解
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类,
接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法,接口只是一种形式,接口自身不能做任何事情。
25.Sql语句的执行顺序
Select a,b,count(sum(c))over() from t where t.d=1 start with e is not null connect by prior f=g group by a,b having sum(c)>100 order by 3;
这个SQL包含:1.select子句 2.group by 子句 3.分析函数 4.from子句 5.where子句 6.start with...connect by 子句 7having子句 8.order by子句
对于select子句,从执行计划看是在最后执行的,我把它理解为返回数据给用户,而不是读取数据,读取数据是在from这个步骤执行的,所以我认为的顺序是:4->6>5->2>7->3>8->1
26.Git的常用命令,项目中遇到的先进的技术点
查看.添加.提交.删除.找回.重置修改文件
27.怎么判断js中值和类型是否一致?
用===判断
28.Css的盒子模型有哪些?
css盒子模型 又称为框模型(BoxModel),包含了元素内容(content).内边距(padding).边框(border).外边距(margin)几个要素。
29.Js的标签遍历,js象里属性的遍历 怎么理解js的闭包
30.数据库中哪些是key-value型数据库
1. Aerospike社区版 2.LeveIDB 3.Scalaris 4.Project Voldemort 5.HyperDex 6.Berkeley DB
7. Apache Accumulo 8.Redis 9.Apache Cassandra
31.单利模式代码
public cLass singleton{
private static Singleton singleton =null;
private Singleton(){};
public static Singleton getSingleton(){
If(singleton ==null){
singleton=new Singleton();
return singleton;
}
}
32.冒泡算法代码
public class BubbleSorted(){
Public BubbleSorted(){
Int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,54,56,17,18,23,34,15,35,25,53,51};
Int temp=0;
for(int i=0;j<a.length-1;i++){
for(int j=0; j<a.length-1-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
33.Map集合使用迭代器遍历代码?
public static void main(String [] args){
Map<String,String> map=new HashMap<String,String>();
map.put(“1”,”value1”);
map.put(“2”,”value2”);
map.put(“3”,”value3”);
System.out.println(“通过Map.entrySet使用iterator遍历key和value:”);
Iterator<Map.Entry<String,String>> it=map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String,String> entry=it.next();
System.out.println(“key=”+entry.getKey()+”and value=”+entry.getValue());
}
34.Linux中常见的操作命令
ls 显示文件或目录 -l 列出文件详细信息 -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent) cd 切换目录
touch 创建空文件 echo 创建带有内容的文件 cat 查看文件内容 cp 拷贝 mv 移动或重命名 rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除 grep 在文本文件中查找某个字符串 rmdir 删除空目录 pwd 显示当前目录 head.tail 显示文件头.尾内容
35.Vi中删除光标的快捷键
36.常用的浏览器有哪些,使用过浏览器的内核是什么
37.重载跟重写的区别
Override(重写)
1. 方法名.参数.返回值相同。
2. 子类方法不能缩小父类方法的访问权限。
3. 子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4. 存在与父类和子类之间。
5. 方法被定义为final不能被重写
Overload(重载)
1. 参数类型.个数.顺序至少有一个不相同。
2. 不能重载只有返回值不同的方法名。
3. 存在于父类和子类.同类中
38.重载能不能改变返回值
可以改变返回值
39.A方法中有事务B方法中有事务如果A调用B方法 A中有几个事务
这个不一定,a中本身有一个事务,调用b方法,可以开启一个新的事务,同时挂起a的事务,也可以直接用a的事务
40.你对Spring 事务的理解
配置文件开启注解驱动,在相关的类和方法上通过注解@Transactional标识。
spring在启动的时候会去解析生成相关的bean,这时候会查看拥有相关注解的类和方法,并且为这些类和方法生成代理,并根据@Transaction的相关参数进行相关配置注入,这样就在代理中为我们把相关的事务处理掉了(开启正常提交事务,异常回滚事务)。
41.String abc 跟String a+b+c 用==号比较返回的市false还是true
42.New String(abc) 跟 new String(a+b+c) 用==号比较返回的是false还是true
43.如果第一次操作成功,第二次操作失败,他是操作失败还是成功了
44.怎么创建js数组
var arr1=new Array(); var a =new Array(5); var a =new Array([“b”,2,”a”,4,]);
45.js怎么创建对象
1.使用内置对象
2.使用JSON符号
3.自定义对象构造
46.为什么要配置环境变量
保证javac能在任意目录下执行
订单管理:用户在点击商品,加入到购物车,在未登入之前通过cookie通过客户端存储商品,如果换一台电脑就查看不到,当用户登入之后,把数据存入到session中,为了解决高并发问题,利用redis数据库把session中的商品信息存入到redis服务器上数据库中,进入提交页面后,填写商品收货人信息,电话号码,收货地址,是否打印发票,是否优惠打折选项,填写备注信息等,然后把填写的内容信息插入到数据库中。提交然后转到支付页面!
注册/登录:用户可以使用手机号注册系统并可以使用动态验证码和静态密码登录;
个人信息维护:用户可以修改名称.头像.单位.密码等个人信息;
查询信息:可以查询信息发布管理模块发布的是发布状态的信息;
我要咨询:注册用户可以在移动端通过填写咨询信息,然后提交到系统的投诉受理管理中由后台管理员进行处理;如果有处理结果则用户可以查看回复结果;
我要投诉:注册用户可以在移动端通过填写投诉内容,然后提交到系统的投诉受理管理中由后台管理员进行处理;如果有处理结果则用户可以查看回复结果
我要预约:注册用户可以在移动端通过填写预约事项.预约内容.地点.时间,然后提交预约到系统的服务预约管理中由后台对应事项的处理人员进行处理,如果由处理结果则用户可以查看回复结果;
易告知:可以查看由系统定时发送的催办和催缴税的信息。
调查问卷:可以查看由系统推送的调查问卷和自己填写过的调查问卷内容。