java面试总结1

一.  假设有一个池塘,里面有无穷多的水.现有2个空水壶,容积分别为5升和6升.问题是如何只用这2个水壶从池塘里取得3升的水?
6升的叫做A,5升的叫做B
1:装A满,把A倒入B满,A的剩下1升
2:B倒空,把A的1升倒入B,这时候A和B分别为0和1
3:再装A满,倒入B让它满,由于B的可装空间是5-1=4,所以A剩下2
4:同理把B倒空,把A的2转给B
5:重复一次,A装满,倒给B,这时候B的空间只有5-2=3,所以A剩下3升
用A的三升就是准确数字

二.假如你给一个老板写程序,工作7天,每天报酬是一段金条,必须当天结算.但老板只有一根金条,并且这根金条能平均切成七段,老板要求这根金条只能切两次.问:你如何向老板要每天的报酬?
我把金条分成1/7、2/7和4/7三份。这样,第1天我就可以给他1/7;第2天我给他2/7,让他找回我1/7;第3天我就再给他1/7,加上原先的2/7就是3/7;第4天我给他那块4/7,让他找回那两块1/7和2/7的金条;第5天,再给他1/7;第6天和第2天一样;第7天给他找回的那个1/7


三.Servlet生命周期,即阐述Servlet从产生到毁灭的整个过程。 

 在Servlet产生到消亡的过程中,有三个生命周期函数,初始化方法init(),处理客户请求的方法service(),终止方法destroy()。

四.排序方式

 //冒泡排序
        for(int x=0; x<arr.length-1; x++) {
            for(int y=0; y<arr.length-1-x; y++) {
                if(arr[y] > arr[y+1]) {
                        int temp = arr[y];
                        arr[y] = arr[y+1];
                        arr[y+1] = temp; 
                }
            } 
        }
        //选择排序
        for(int x=0; x<arr.length-1; x++) {
            for(int y=x+1; y<arr.length; y++) {
                if(arr[y] < arr[x]) {
                    int temp = arr[x];
                    arr[x] = arr[y];
                    arr[y] = temp;
                }
            }
        }

五.事务的四个属性和隔离级别
原子性:要么全成功,要么全失败
一致性:执行前和执行后的状态保持一致
隔离性:多个并发事务之间相互隔离
持久性:事务一旦提交,对数据库中数据的改变是永久性的
数据库的隔离级别
脏读:在一个事务中读取到另一个事务没有提交的数据 
不可重复读:在一个事务中,两次查询的结果不一致(针对的update操作) 
虚读(幻读):在一个事务中,两次查询的结果不一致(针对的insert操作)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值