原创 字節跳動上海創新業務(2021屆實習崗)三輪技術面總結

  博主於2020.4月初投了字節跳動 上海創新業務 後端開發實習崗(Java方向),並且在2020.5初拿到了客戶端的實習offer,下面分享一下此次技術面試的相關內容。 字節跳動上海創新業務(2021屆實習生)三輪技術面總結一

原创 劍指offer 旋轉數組的最小數字(變形二分搜索)

題目描述 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 N

原创 數據結構之二叉樹、AVL樹、紅黑樹、Trie樹、B樹、B+樹、B*樹淺析

  樹,作爲五大經典數據結構之一,有許多運用場景,比如MySQL數據庫的B+樹(數據結構的重要性不用強調了吧)。下面將對二叉樹、紅黑樹、B樹、B+樹等樹結構進行一些概念區分與總結,此篇博客適合新手、有一定數據結構基礎的小夥伴。 一

原创 Java容器之Hashtable源碼分析(關於Hashtable的這些細節你可能還不知道)

  在上一篇博客 Java容器之HashMap源碼分析(媽媽再也不用擔心我不懂HashMap了) 從源碼層次分析了HashMap容器的底層實現,在本篇博客將繼續從源碼層次分析Hashtable的底層實現。   註明:以下源碼分析都

原创 Java容器之HashMap源碼分析(媽媽再也不用擔心我不懂HashMap了)

  最近面試被問HashMap容器的實現原理,答的一塌糊塗。。。雖說一直唸叨着說要看看Java容器的源碼,但總是被耽擱了,今天終於靜下心來看了🤦‍♂️。   註明:以下源碼分析都是基於jdk 1.8.0_221版本 HashMa

原创 MySQL從入門到精通、SQL實戰題解

MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational

原创 Ubuntu18.04安裝SSH工具(附SSH無法登錄root賬號解決方法)

  最近又在折騰Ubuntu,來水一篇ssh安裝博文。。。 Ubuntu18.04安裝SSH工具目錄一、`SSH`概述二、安裝`SSH`1、安裝`SSH`服務端2、安裝`SSH`客戶端三、`SSH`基本使用1、訪問其它電腦2、退出

原创 設計模式之單例模式(靜態屬性可稱爲單例思想的特殊運用?)

  最近看了看程傑前輩的《大話設計模式》,主要是上次面試被問設計模式,答的很菜。。。經過一段時間的沉澱,現在來談談我對其單例模式的理解。 設計模式之單例模式一、`單例模式`1、定義2、使用場景二、舉例(靜態屬性)三、兩種實現方式(

原创 逆向工具之脫殼神器反射大師(附脫殼環境搭建、脫殼實戰)

  相信點擊進入這篇博客的小夥伴都知道並且搞過App逆向,不過有時候會遇到各種加殼的App,不讓你反編譯。但是道高一尺,魔高一丈,有正向加密,就有逆向解密。此篇博客博主帶大家搭建脫殼環境,並且手動脫一個加了某60的殼的App。閒話

原创 逆向工具之unidbg(在pc端模擬執行so文件中的函數)

  昨天在逆向某App的時候,發現有個加密工具類中的native方法是用C語言編寫的,隱藏在so文件中。某大佬推薦逆向工具unidbg,能在pc端直接調用so文件中的函數,最終成功解決了問題。 逆向工具之unidbg目錄一、`un

原创 字節跳動上海創新業務(2021屆實習生)三輪技術面總結

  博主於2020.4月初投了字節跳動 上海創新業務 後端開發實習崗(Java方向),並且在2020.5初拿到了客戶端的實習offer,下面分享一下此次技術面試的相關內容。 字節跳動上海創新業務(2021屆實習生)三輪技術面總結一

原创 Java字符串類之String、StringBuilder、StringBuffer源碼分析與總結(你知道三者的區別?)

  前面分析完Java中常見容器的源碼,此篇博客來分析下Java字符串相關的常用的三個類String、StringBuilder、StringBuffer。   相信看過我前面的Java容器源碼分析博客的小夥伴會發現一個規律,我一

原创 Java常用容器JDK源碼分析總結(震驚,某博主竟然分析完了List、Queue、Map、Set接口的主要實現類)

  前些天花了12篇博客,分析了Java常用的容器的源碼,主要是List、Queue、Map、Set等接口的實現類。此篇博客將對這些容器進行一個總結,但不會涉及源碼,如果需要了解更多的細節,可以通過文中的鏈接閱讀。 Java常用容

原创 Java容器之PriorityQueue源碼分析(附堆的調整圖解)

  PriorityQueue容器,翻一下就是優先隊列,平常一般稱堆。優先隊列的作用是將隊列中的元素最小值放到堆頂(小頂堆,最小的元素在頂端,你也可以修改comparator,使之變成大頂堆,最大的元素在頂端)。每當我們插入、刪除

原创 數據結構之堆(我猜,關於堆的這些維護細節,你肯定不清楚,不信你來看!)

  在前面分析了二叉搜索樹、紅黑樹等衆多樹結構,今天博主給大家換個口味,深入分析一下堆的實現原理與維護規則。(堆其實與二叉樹有點相似) 數據結構之堆原理分析目錄一、`堆`的概述1、什麼是`堆`2、`堆`的劃分3、`堆`的作用二、`