A面试

主要包含:java基础,简单算法,项目,逻辑

【面试情况不太好,但面试官很nice,给了一些很中肯的建议】

1. Float的存储

2. JVM调优

3. 详述2个项目

4. 权限控制,角色控制

5. 与hibernate有相似的架构mybaits

6. 是否看过jquery源码?

7. 是否看过各种框架的源码,了解其中思想?

8. 设计模式了解哪些,单例模式的应用场景?

9. 简单的sql

10. 逻辑:2个鸡蛋,确定最大高度?

11. 数组2层嵌套循环,大循环放在里面还是外面?

12. 画出基本的java容器结构

13. 计算出连续3个数最大和值?

for循环嵌套问题

1、两种写法,循环中的方法体执行的次数都是相同的,那么,两种方法的区别就只能从循环变量ij的实例化、初始化、比较、自增等方面的耗时上进行分析。 

2、在嵌套for循环中,将循环次数多的循环放在内侧,循环次数少的循环放在外侧,其性能会更好。如果在循环次数较少的情况下,其运行效果区别不大,但在循环次数较多的情况下,其效果就比较明显了。 

3很详细的1篇案例 http://cgs1999.iteye.com/blog/1596671  

方式一:

for (int i = 0; i < 1000; i++)

for (int j = 0; j < 100; j++)

for (int k = 0; k < 10; k++)

testFunction (i, j, k);

变量

实例化(次数)

初始化(次数)

比较(次数)

自增(次数)

i

1

1

1000

1000

j

1000

1000

1000 * 100

1000 * 100

k

1000 * 100

1000 * 100

1000 * 100 * 10

1000 * 100 * 10

方式二:

for (int i = 0; i < 10; i++)

for (int j = 0; j < 100; j++)

for (int k = 0; k < 1000; k++)

testFunction (k, j, i);

变量

实例化(次数)

初始化(次数)

比较(次数)

自增(次数)

i

1

1

10

10

j

10

10

10 * 100

10 * 100

k

10 * 100

10 * 100

10 * 100 * 1000

10 * 100 * 1000

方式三

int i, j, k;

for (i = 0; i < 10; i++)

for (j = 0; j < 100; j++)

for (k = 0; k < 1000; k++)

testFunction (k, j, i);

变量

实例化(次数)

初始化(次数)

比较(次数)

自增(次数)

i

1

1

10

10

j

1

10

10 * 100

10 * 100

k

1

10 * 100

10 * 100 * 1000

10 * 100 * 1000

参考:

JVM调优

http://hllvm.group.iteye.com/group/wiki/2858-JVM 

单例模式应用场景

http://www.cnblogs.com/BrainDeveloper/p/3192417.html 

Javafloat的存储

http://blog.csdn.net/running8063/article/details/4093261 

Sun JDKgc算法

http://www.docin.com/p-417999249.html


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值