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中同步策略

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章