日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

资料整理面试

發布時間:2025/3/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 资料整理面试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/bntX2jSQfEHy7/article/details/81187626

各大企業面試題:

https://blog.csdn.net/huangshulang1234/article/details/79102943

設計模式面試題:

https://blog.csdn.net/wu_ming0821/article/details/51838078

https://blog.csdn.net/zhousenshan/article/details/72808887

排序面試總結:

https://blog.csdn.net/sunxianghuang/article/details/51872360

百度:2017面試題

https://blog.csdn.net/pc123455/article/details/53319467

Redis的持久化:RDB與AOF

https://www.cnblogs.com/fixzd/p/9393990.html

Redis的高手總結:

https://blog.csdn.net/hjm4702192/article/details/80518856

最常見的面試題:

https://blog.csdn.net/Px01Ih8/article/details/81267503

應用場景:

Memcached:動態系統中減輕數據庫負載,提升性能;做緩存,適合多讀少寫,大數據量的情況(如人人網大量查詢用戶信息、好友信息、文章信息等)。?
Redis:適用于對讀寫效率要求都很高,數據處理業務復雜和對安全性要求較高的系統(如新浪微博的計數和微博發布部分系統,對數據安全性、讀寫要求都很高)。

?

一、阿里巴巴面試

第一個:阿里面試都問什么? :(55分鐘)

01

1、開發中Java用了比較多的數據結構有哪些?

?


2、談談你對HashMap的理解,底層原理的基本實現,HashMap怎么解決碰撞問題的?

解決hash沖突的辦法

  • 開放定址法(線性探測再散列,二次探測再散列,偽隨機探測再散列)
  • 再哈希法
  • 鏈地址法
  • 建立一個公共溢出區
  • Java中hashmap的解決辦法就是采用的鏈地址法。

    哈希表是由數組+鏈表組成的,一個長度為16的數組中,每個元素存儲的是一個鏈表的頭結點。那么這些元素是按照什么樣的規則存儲到數組中呢。一般情況是通過hash(key)%len獲得,也就是元素的key的哈希值對數組長度取模得到。比如上述哈希表中,12%16=12,28%16=12,108%16=12,140%16=12。所以12、28、108以及140都存儲在數組下標為12的位置。

      HashMap其實也是一個線性的數組實現的,所以可以理解為其存儲數據的容器就是一個線性數組。這可能讓我們很不解,一個線性的數組怎么實現按鍵值對來存取數據呢?這里HashMap有做一些處理。

      首先HashMap里面實現一個靜態內部類Entry,其重要的屬性有?key , value, next,從屬性key,value我們就能很明顯的看出來Entry就是HashMap鍵值對實現的一個基礎bean,我們上面說到HashMap的基礎就是一個線性數組,這個數組就是Entry[],Map里面的內容都保存在Entry[]里面。

    這些數據結構中是線程安全的嗎?假如你回答HashMap是線程安全的,接著問你有沒有線程安全的map,接下來問了conurren包。

    HashMap是否是線程安全的,如何在線程安全的前提下使用HashMap,其實也就是HashMap,Hashtable,ConcurrentHashMap和synchronized Map的原理和區別。
    當時有些緊張只是簡單說了下HashMap不是線程安全的;Hashtable線程安全,但效率低,因為是Hashtable是使用synchronized的,
    所有線程競爭同一把鎖;
    而ConcurrentHashMap不僅線程安全而且效率高,因為它包含一個segment數組,將數據分段存儲,
    給每一段數據配一把鎖,也就是所謂的鎖分段技術。當時忘記了synchronized Map和解釋一下HashMap為什么線程不安全。
    HashMap在并發時可能出現的問題主要是兩方面,首先如果多個線程同時使用put方法添加元素,
    而且假設正好存在兩個put的key發生了碰撞(hash值一樣),那么根據HashMap的實現,
    這兩個key會添加到數組的同一個位置,這樣最終就會發生其中一個線程的put的數據被覆蓋。
    第二就是如果多個線程同時檢測到元素個數超過數組大小*loadFactor,
    這樣就會發生多個線程同時對Node數組進行擴容,都在重新計算元素位置以及復制數據,
    但是最終只有一個線程擴容后的數組會賦給table,也就是說其他線程的都會丟失,并且各自線程put的數據也丟失

    詳細解釋:
    http://www.importnew.com/21396.html

     

    3、對JVM熟不熟悉?簡單說說類加載過程,里面執行的哪些操作?問了GC和內存管理,平時在tomcat里面有沒有進行過相關的配置

    ?


    4、然后問了http協議,get和post的基本區別,接著tcp/ip協議,三次握手,窗口滑動機制。

    三次握手過程:第一次握手:host1發送一個TCP標志位SYN=1、ACK=0的數據包給host2,并隨機會產生一個Sequence number=3233.當host2接收到這個數據后,host2由SYN=1可知客戶端是想要建立連接;第二次握手:host2要對 客戶端的聯機請求進行確認,向host1發送應答號ACK=1、SYN=1、 確認號Acknowledge number=3234,此值是host1的序列號加1,還會產生一個隨機的序列號Sequence number=36457,這樣就告訴host1可以進行連接;第三次握手:host1收到數據后檢查Acknowledge number是否是3233+1的值,以及ACK的值是否為1,若為1,host1會發送ACK=1、確認號碼Acknowledge number=36457,告訴host2,你的請求連接被確認,連接可以建立。四次揮手過程:第一次揮手:當傳輸的數據到達尾部時,host1向host2發送FIN=1標志位;可理解成,host1向host2說,我這邊的數據傳送完成了,我準備斷開了連接;第二次揮手:因TCP的連接是全雙工的雙向連接,關閉也是要從兩邊關閉;當host2收到host1發來的FIN=1的標志位后,host2不會立刻向host1發送FIND=1的請求關閉信息,而是先向host1發送一個ACK=1的應答信息,表示:你請求關閉的請求我已經收到,但我可能還有數據沒有完成傳送,你再等下,等我數據傳輸完成了我就告訴你;第三次揮手:host2數據傳輸完成,向host1發送FIN=1,host1收到請求關閉連接的請求后,host1就明白host2的數據已傳輸完成,現在可以斷開連接了,第四次揮手: host1收到FIND=1后,host1還是怕由于網絡不穩定的原因,怕host2不知道他要斷開連接,于是向host2發送ACK=1確認信息進行確認,把自己設置成TIME_WAIT狀態并啟動定時器,如果host2沒有收到ACK,host2端TCP的定時器到達后,會要求host1重新發送ACK,當host2收到ACK后,host2就斷開連接;當host1等待2MLS(2倍報文最大生存時間)后,沒有收到host2的重傳請求后,他就知道host2已收到了ACK,所以host1此時才關閉自己的連接。這一點我覺得設計得非常巧妙!

      


    5、開發中用了那些數據庫?回答mysql,儲存引擎有哪些?然后問了我悲觀鎖和樂觀鎖問題使用場景、分布式集群實現的原理。

    InnoDB存儲引擎 InnoDB是事務型數據庫的首選引擎,支持事務安全表(ACID),支持行鎖定和外鍵。MyISAM基于ISAM存儲引擎, 并對其進行擴展。它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。MyISAM擁有較高的插入、查詢速度,但不支持事物MEMORY存儲引擎 MEMORY存儲引擎將表中的數據存儲到內存中,未查詢和引用其他表數據提供快速訪問

     悲觀鎖和樂觀鎖:

    定義: 悲觀鎖(Pessimistic Lock): 每次獲取數據的時候,都會擔心數據被修改,所以每次獲取數據的時候都會進行加鎖,確保在自己使用的過程中數據不會被別人修改,使用完成后進行數據解鎖。由于數據進行加鎖,期間對該數據進行讀寫的其他線程都會進行等待。樂觀鎖(Optimistic Lock): 每次獲取數據的時候,都不會擔心數據被修改,所以每次獲取數據的時候都不會進行加鎖,但是在更新數據的時候需要判斷該數據是否被別人修改過。如果數據被其他線程修改,則不進行數據更新,如果數據沒有被其他線程修改,則進行數據更新。由于數據沒有進行加鎖,期間該數據可以被其他線程進行讀寫操作。適用場景: 悲觀鎖:比較適合寫入操作比較頻繁的場景,如果出現大量的讀取操作,每次讀取的時候都會進行加鎖,這樣會增加大量的鎖的開銷,降低了系統的吞吐量。樂觀鎖:比較適合讀取操作比較頻繁的場景,如果出現大量的寫入操作,數據發生沖突的可能性就會增大,為了保證數據的一致性,應用層需要不斷的重新獲取數據,這樣會增加大量的查詢操作,降低了系統的吞吐量。

     

    6、然后問了我springmvc和mybatis的工作原理,有沒有看過底層源碼?

    ?

    二、京東金融面試

    02

    1、Dubbo超時重試;Dubbo超時時間設置

    https://www.cnblogs.com/binyue/p/5380322.html
    2、如何保障請求執行順序

    這個正是消息隊列的用武之地. 為了簡單輕量級的可以考慮使用 Redis. 借助 Redis 的list結構, Producer 調用 Redis 的 lpush 往特定key里添加消息, Consumer 調用 brpop 去不斷監聽該key. 如果需要實現復雜功能的, 那么可以考慮使用 RabbitMQ 或 ActiveMQ 等之類的專門的消息隊列

    3、分布式事物與分布式鎖(扣款不要出現負數)

    https://blog.csdn.net/peng_0129/article/details/80000564
    4、分布式session設置

    https://www.cnblogs.com/cxrz/p/8529587.html

    5、執行某操作,前50次成功,第51次失敗a全部回滾b前50次提交第51次拋異常,ab場景分別如何設置Spring(傳播性)
    6、Zookeeper有哪些應用用

    https://www.cnblogs.com/liuwei6/p/6737908.html
    7、JVM內存模型
    8、數據庫垂直和水平拆分
    9、MyBatis如何分頁;如何設置緩存;MySQL分頁

    https://www.cnblogs.com/tenWood/p/6676331.html

    邏輯分頁:mybatis內置的分頁是邏輯分頁;數據庫里有100條數據,要每頁顯示10條,mybatis先把100條數據取出來,放到內存里,從內存里取10條;雖然取出的是10條,但是性能不好,幾千條上萬條沒問題,數據量大性能就有問題了;小項目使用沒問題;正式的項目數據量都很大就不使用了;物理分頁: 開發的時候用的:拼sql,真正實現分頁;

      

    ?mysql的分頁;

    一般情況下,客戶端通過傳遞 pageNo(頁碼)、pageSize(每頁條數)兩個參數去分頁查詢數據庫中的數據,在數據量較小(元組百/千級)時使用 MySQL自帶的?limit?來解決這個問題

    10、熟悉IO么?與NIO的區別,阻塞與非阻塞的區別

    面向Stream和面向BufferJava NIO和IO之間最大的區別是IO是面向流(Stream)的,NIO是面向塊(buffer)的,所以,這意味著什么?面向流意味著從流中一次可以讀取一個或多個字節,拿到讀取的這些做什么你說了算,這里沒有任何緩存(這里指的是使用流沒有任何緩存,接收或者發送的數據是緩存到操作系統中的,流就像一根水管從操作系統的緩存中讀取數據)而且只能順序從流中讀取數據,如果需要跳過一些字節或者再讀取已經讀過的字節,你必須將從流中讀取的數據先緩存起來。面向塊的處理方式有些不同,數據是先被 讀/寫到buffer中的,根據需要你可以控制讀取什么位置的數據。這在處理的過程中給用戶多了一些靈活性,然而,你需要額外做的工作是檢查你需要的數據是否已經全部到了buffer中,你還需要保證當有更多的數據進入buffer中時,buffer中未處理的數據不會被覆蓋阻塞IO和非阻塞IO所有的Java IO流都是阻塞的,這意味著,當一條線程執行read()或者write()方法時,這條線程會一直阻塞知道讀取到了一些數據或者要寫出去的數據已經全部寫出,在這期間這條線程不能做任何其他的事情java NIO的非阻塞模式(Java NIO有阻塞模式和非阻塞模式,阻塞模式的NIO除了使用Buffer存儲數據外和IO基本沒有區別)允許一條線程從channel中讀取數據,通過返回值來判斷buffer中是否有數據,如果沒有數據,NIO不會阻塞,因為不阻塞這條線程就可以去做其他的事情,過一段時間再回來判斷一下有沒有數據NIO的寫也是一樣的,一條線程將buffer中的數據寫入channel,它不會等待數據全部寫完才會返回,而是調用完write()方法就會繼續向下執行SelectorsJava NIO的selectors允許一條線程去監控多個channels的輸入,你可以向一個selector上注冊多個channel,然后調用selector的select()方法判斷是否有新的連接進來或者已經在selector上注冊時channel是否有數據進入。selector的機制讓一個線程管理多個channel變得簡單。

      


    11、分布式session一致性
    12、分布式接口的冪等性設計「不能重復扣款」

    https://blog.csdn.net/wconvey/article/details/54601108

    https://www.cnblogs.com/wxgblogs/p/6639272.html

    ?

    三、美團面試

    03

    1、最近做的比較熟悉的項目是哪個?畫一下項目技術架構圖
    2、JVM老年代和新生代的比例?
    3、YGC和FGC發生的具體場景
    4、jstack,jmap,jutil分別的意義?如何線上排查JVM的相關問題?

    https://blog.csdn.net/qq_26653067/article/details/79728520
    5、線程池的構造類的方法的5個參數的具體意義?

    ?


    6、單機上一個線程池正在處理服務如果忽然斷電該怎么辦?(正在處理和阻塞隊列里的請求怎么處理)?
    7、使用無界阻塞隊列會出現什么問題?
    8、接口如何處理重復請求?

    重復提交的問題

    https://blog.csdn.net/js_sky/article/details/49303997
    9、具體處理方案是什么?
    10、如何保證共享變量修改時的原子性?

    https://www.cnblogs.com/SirSmith/p/6014441.html
    11、設計一個對外服務的接口實現類,在1,2,3這三個主機(對應不同IP)上實現負載均衡和順序輪詢機制(考慮并發)

    ?

    總結

    以上是生活随笔為你收集整理的资料整理面试的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美大片高清免费观看 | 国产乱码精品一区二区三区亚洲人 | 国产草草影院 | 中文字幕第十二页 | 粉嫩aⅴ一区二区三区 | 欧美性猛交xxxx黑人 | www.白白色| 成人无码视频 | 久久久久久免费视频 | 成人性生交大片免费看vrv66 | 毛片毛片毛片毛片毛片 | 男男一级淫片免费播放 | 日本一区二区三区免费视频 | 男女男精品视频站 | 亚洲AV无码一区二区伊人久久 | 深夜福利日韩 | 国产v亚洲 | 美女扒开内看个够网站 | 精品久久免费观看 | 日日干天天 | 美女屁股眼视频免费 | 中文字幕av资源 | 成人拍拍拍 | 日韩一区二区中文字幕 | 国产主播喷水 | 午夜精品一二三区 | 99久久精品国产亚洲 | 国产日产欧洲无码视频 | 射黄视频 | 国产又粗又长又黄视频 | 欧美大尺度做爰啪啪床戏明星 | 超碰伦理| 蜜桃av影视| 三年中文免费观看大全动漫 | 桃色av网站 | 韩日成人 | 激情六月色 | 亚洲a一区二区 | 1024视频污 | 亚洲精品一二三四区 | 国产思思99re99在线观看 | 日韩国产亚洲欧美 | 久久中文字幕人妻 | 黄色大片网站在线观看 | 99热青青草 | 欧美色图88 | 关之琳三级全黄做爰在线观看 | 自由成熟xxxx色视频 | av在线免费观看网站 | 美丽的姑娘在线观看 | 欧美成人精品一区二区男人看 | 国产一区二区三区在线免费观看 | 日本亚洲欧美在线 | 8x8x成人| 蜜臀久久精品久久久用户群体 | 成年免费视频黄网站在线观看 | 成人av图片 | 成人av网址在线观看 | 国产淫视 | 黄色片免费观看 | 欧美日韩午夜精品 | 男人操女人下面视频 | 亚洲欧美婷婷 | 男生插女生视频 | 日本久久片| 国产精品久久久久无码av色戒 | 国产suv精品一区二区 | 99香蕉视频 | 在线免费观看黄视频 | 中文字幕中文在线 | 日韩欧美一卡 | 国语对白永久免费 | 成人网免费看 | 九九热国产视频 | 成人自拍视频在线 | 五月婷激情| 欧美极品jizzhd欧美 | 黄色网免费看 | 中文字幕人妻一区二区三区在线视频 | 男人的天堂网av | 国产高清色 | 亚洲高清自拍 | 免费在线欧美 | 色九九视频 | aaaaa黄色片| 国产精品久久av | 久久羞羞 | 国产传媒一区二区 | 卡一卡二卡三 | 97久久国产精品 | 一区二区内射 | 国产亚洲精品久久久久久打不开 | 色屁屁ts人妖系列二区 | av影院在线观看 | 神马午夜在线 | 一级免费看片 | 天天色一色 | 婷婷去俺也去 | 中文字幕无码日韩专区免费 |