20171213java面试总结(3-4年)

今天的面试主要是上午的问题,大概技术有1个多小时的面试:

开始时间:上午9:40左右

结束时间:上午10:50左右

公司:北京惠赢天下

总体的面试感觉确实不错,技术问的挺深入也很细致,完全没有糊弄的成分,而且我不会的问题也会和我说一下答案是什么。

1.spring管理bean默认是单例,什么情况下才会引发问题。如何解决?

        思路:我是想这个问题主要问了spring中bean作用域的。

        回答:在web项目中对于高并发情况下类似于多线程的造成问题一样,对于有状态的bean来说很容易有线程不安全的问题。处理方式就是将这个bean的作用范围改为"prototype"。

        追问:如果还继续使用单例模式如何?

        回答:我想了一下但是没有合适的答案~~~~

        提示:用过ThreadLocal么?(我恍然大悟)

        解析:ThreadLocal可以定义变量,定义的变量有一个特点就是没个变量的实例范围就是当前线程的。保证了不会造成线程不安全的问题

2.spring管理bean的作用域有哪些(用英文说出来),区别是什么?

        思路:spring bean的作用域我知道有四个

        回答:4个,分别是:singleton,prototype,request,session

        追问:不对,你在想想(当然我没想起来)~~一共五个

        解析:少了一个global session(也就是门户网站所使用)

                类似标准的http session作用域,不过仅仅在基于portlet的web应用当中才有意义。

                类似标准的http session作用域,不过仅仅在基于portlet的web应用当中才有意义。Portlet规范定义了全局的Session的概念。

                他被所有构成某个portlet外部应用中的各种不同的portlet所共享。

                在global session作用域中所定义的bean被限定于全局的portlet session的生命周期范围之内。

                Portlet规范定义了全局的Session的概念。

                他被所有构成某个portlet外部应用中的各种不同的portlet所共享。

                在global session作用域中所定义的bean被限定于全局的portlet session的生命周期范围之内。

3.spring初始化bean的过程?

        思路:这个没有思路~~~

        回答:不是很了解

        解析:暂时还有去了解

4.Mysql引擎有几种特点是什么?

        思路:之前只记得有个innodb但是不清楚

        回答:有个innodb,其他的不了解

        追问:innodb有什么特点?

        ~~~~

        解析:

                1.数据库引擎是干什么的?

                        数据库引擎是用于存储、处理和保护数据的核心服务。

                2.mysql有哪几种数据库引擎?

                        在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。INNODB和BERKLEY(BDB),也常常可以使用。

                3.他们的区别是什么?

                        ISAM:是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。

                                优点:ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。

                                缺点:不支持事务处理(对应优点)、不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了

                        MYISAM:MYISAM是MYSQL的ISAM扩展格式和默认的数据库引擎。

                                优点:提供ISAM里所没有的索引和字段管理的功能、使用一种表格锁定的机制,来优化多个并发的读写操作

                                缺点:需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间

                        HEAP:允许只驻留在内存里的临时表格。

                                优点:驻留在内存中会让他比ISAM和MYISAM的速度都要快

                                缺点:显而易见,内存中的数据是不稳定的

                        INNODB和BERKLEYDB:包括了对事务处理和外来键的支持,缺点就是速度不及以上三点

5.对象如何进行深度复制个浅复制,分别复制了什么?有什么区别?

        思路:我知道java中有这个概念,大体和clone()方法有关系

        回答:浅复制会复制对象的所有的变量以及其他属性,不会复制引用的对象,也就是复制的对象和被复制对象没有关系;深复制则相反。

        追问:你确定么?~(当然,之后我才之后我说反了)

        解析:

                浅复制(浅克隆) :被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。

                换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。

                深复制(深克隆) :被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。

                那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。

                换言之,深复制把要复制的对象所引用的对象都复制了一遍。

6.H5中用什么存储大量数据 

        思路:完全不知道

        解析:localStorage 和 sessionStorage

7.Rest风格响应json

        思路:rest风格在springmvc中就有

        回答:可以使@PathVariable注解实现 响应使用@ResponseBody

        追问:不对,你这不是rest响应

        解析:在网上找了一段代码,应该是这个意思

                

@RequestMapping(value={"/info/{pid}"},method=RequestMethod.GET)
    public ModelAndView getProductInfo(@PathVariable String pid, HttpServletRequest request,HttpServletResponse response) throws Exception {
          Map<String,Object> map = new HashMap<String,Object>();
          Product pro = new Product();
          pro.setPid(pid);
          map.put("name", pid);
          map.put("pro", pro);
          ModelAndView mav=new ModelAndView("products/list",map);
          return mav;
    }


8.对于已经排序以后的数组如何快速的找到其中某一个数字

        思路:那应该是二分法速度要快一些啊

        回答:使用二分法来进行查找

        追问:二分法最少查找次数和最多查找次数分别是多少?

        回答:~~~

        追问:最少肯定是一次啊,那最多呢?

        回答:~~~

        解析:百度查了一下,最终的结果是一个公式关于log的,这些东西都忘干净了~~~高中的啊

9.Spring框架两种注入的注解有什么区别

        思路:两种注解都用过,有什么区别不是很清晰

        解析:

                1.@Resource注解:按照名字进行注入,当没有对应名字的时候再去使用类型注入

                2.@Autowried注解:按照类型进行注入,当没有对应类型的时候在按照名字注入(需要配合@Qualifier)

10.代理模式的动态代理和静态代理有什么区别

11.Oracle的三层嵌套为什么

        ~~~

        解析:看了一下这个博客

12.抽象工厂原理

13.Having以后得条件可以用别名么

        不能

14.Shiro权限你是如何配置的

15.如何实现一个双向链表

16.对于一张学生表以及分数,相同的分数应该是并列名次,用什么函数可以实现

17.redis中同步策略

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值