1、如何对插入mysql数据的原数据进行加密,写出加密函数?
加密:INSERT INTO t_pass_info(id,pass_info) VALUES (1,ENCODE(‘dong’,‘bb’));
解密:SELECT DECODE(ENCODE(‘dong’,‘aa’),‘aa’);
2、有数组a[n],用java代码将数组元素顺序颠倒
public static void main(String[] args) {
/*
* 有数组a[n],用java代码将数组元素顺序颠倒
*/
int a[]={11,8,2,24,90,23};
//首先可以用集合的方法把数组元素颠倒
List<Integer> list=new ArrayList<Integer>();
for(Integer i:a) {
list.add(i);
}
Collections.reverse(list);
for(Integer i:list) {
System.out.print(i+" ");
}
//也可以用循环首尾互换的方法搞定
for(int i=0;i<a.length>>1;i++) {
int temp;
temp=a[i];
a[i]=a[a.length-1-i];
a[a.length-1-i]=temp;
}
System.out.println();
for(int i:a) {
System.out.print(i+" ");
}
}
3、请列举排序都有哪几种方法?请使用一种方法进行排序
此题在上一篇也出现过,这里就不写了
4、一个用户表有一个积分字段,假如数据库中有800多万个用户(包含有效和失效用户),若要在每一季度第一天凌晨将有效用户的积分减半,你会怎么做?
我当时回答的是直接用定时任务跑批执行sql,修改语句
还不清楚怎么解决,有好的答案希望分享~~
5、写一个jdbc链接并访问oracle数据的程序代码?
private static String url="jdbc:oracle:thin:@localhost:1521:orcl";
private static String user="system";
private static String password="manager";
private static Connection conn;
private Statement statement = null;
private ResultSet rs = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url, user, password);
statement = conn.createStatement();
rs=statement.executeQuery(sql);
while (rs.next()){
//do something
}
rs.close();
statement.close();
conn.close();
6.你对springcloud理解是什么?AOP和IOC主要用来解决哪种业务场景?
引用下面的话: springcloud理解—
SpringCloud是Spring为微服务架构思想做的一个一站式实现。
从某种程度可以理解为,微服务是一个概念、一个项目开发的架构思想。SpringCloud是微服务架构的一种java实现。
SpringCloud是基于SpringBoot的一套实现微服务的框架。
为微服务体系开发中的架构问题,提供了一整套的解决方案,它提供了微服务开发所需要的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟SpringBoot框架一起使用的话,会让开发微服务架构的云服务非常方便。
Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
IOC和AOP应用场景:
AOP:面向切面,找出多个Bean有一定规律的代码,开发拆开,运行合并
面向规则编程,日志监控,事物开启/关闭,权限控制
IOC:控制反转,将创建对象的权利交给spring(BeanFactory) 衣来伸手饭来张口
DI: 依赖注入,DI:依赖查找。能够保存对象与对象之间的关联关系
自动赋值:构造方法, set赋值,直接赋值(反射,暴力强吻)
构造:xml赋值
set:@Resource(“beanName”) public void setXXX(){}
直接:@Autowried private Object object;
7、你用过常用的设计模式有哪些?用java写出来。
工厂、单利、模板、原型、策略、适配器、委派。。。。
//饿汉式单例模式例子
public class HungrystaticSingleton {
private static final HungrySingleton singleton=new HungrySingleton();
private HungrySingleton(){}
public static HungrySingleton getInstance(){
return singleton;
}
}
//懒汉式单例模式例子
public class LazyDoubleCHeckSingleton {
private static LazyDoubleCHeckSingleton singleton=null;
private LazyDoubleCHeckSingleton(){}
public static LazyDoubleCHeckSingleton getInstance(){
if(singleton==null){
synchronized (LazySimpleSingleton.class){
if(singleton==null){
singleton=new LazyDoubleCHeckSingleton();
}
}
}
return singleton;
}
}
8、堆和栈的区别是什么?若有一个64k的字符串,是放到堆上,还是栈上,理由是什么?
只有引用及基本数据类型是直接存在栈上。对象类型可能是在堆、方法区、常量池中。
堆栈都是内存的可用区域,但是 堆的速度慢容量大,栈的速度快容量小。一个64K的字符串,自然放在堆。栈的内存是很宝贵的。