java面试遇到的题目

1.权限控制到按钮的问题。

 

2.java代码调试的时候获取对象的属性。

使用反射

3.js字符串怎么变成动态执行代码。

eval() 函数,eval("x=10;y=20;document.write(x*y)")

4.sql注入攻击问题。

对特殊字符进行转义。

 

5.是否看过开源代码。

 

扫描二维码关注公众号,回复: 197622 查看本文章

6.是否了解分布式部署,springboot等,好处是什么,遇到的问题是什么。

分布式部署好处是:

(1).业务拆分开互不影响,某块业务挂了不会影响整个系统;

(2).可以将负载由单个节点转移到多个,从而提高效率。

(3).服务降级,当服务整体的负载超出预设的上限阙值时,为了保证重要的或基本的服务能正常运行,我们可以将一些不重要或不紧急的服务或任务延迟使用或暂停使用。

 

遇到的问题:

(1).事物回滚的问题,如订单和商品之间,订单撤销了,商品服务挂了没回滚成功商品数量没加。可以使用补偿机制存入数据库,后面定时通知商品服务并判断是否处理成功。或者放到消息队列,商品服务恢复后获取信息修改。

7.统计某个路径下所有的java文件,以及统计代码数量 。

http://z1414644039.iteye.com/blog/2421925

 

8.hashMap底层实现原理

hashMap是数组和链表的组合,根据key的hash值算存储位置,不冲突存放在数组,冲突存放在链表。

http://tracylihui.github.io/2015/07/01/Java集合学习1:HashMap的实现原理/

 

9.多线程的实现方式
继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。

 

10.线程的几种状态及切换

https://blog.csdn.net/pange1991/article/details/53860651

 

11.jdk源码

https://blog.csdn.net/singit/article/details/54821159

 

12.类加载顺序

https://blog.csdn.net/hellorichen/article/details/53007716

 

13.http和https的区别

http是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。

https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。

14.session和cookie的区别

https://www.zhihu.com/question/19786827 

猜你喜欢

转载自z1414644039.iteye.com/blog/2421935