主頁 > 軟體設計 > 2021金三銀四Android面試心得,已拿到多個offer

2021金三銀四Android面試心得,已拿到多個offer

2021-04-03 14:01:22 軟體設計

從年后至今已面試了很多公司,也收到了幾家巨頭的offer,還有其他公司的,總結下經驗,也是對金三銀四和過去的一個回顧和總結吧,

一 簡歷準備

關于簡歷的準備,我不用多說,大家應該也都明白,簡歷至少要滿足以下幾個要點:

  • 以專案為主體,設計你的簡歷
  • 針對企業的需要,突出你的技能
  • 專案的三要素(專案 = 產品 + 技術 + 結果)
  • 量化你的專案,給出數字
  • 關于簡歷的準備,很多人可能不知道從何下手,可以從1.如何發現問題,2.怎么解決問題,3.解決效果對比,這幾個方面去描述,我這邊可以提供一些簡歷模板作為參考,對我個人來說,幫助還是非常大的,

二、技能儲備

Java部分:

  • 1.1 資料結構與演算法

1.1.1 常用的資料結構有哪些?
1.1.2 陣列
(1)如何在一個1到100的整數陣列中找到丟失的數字?
(2)如何在給定的整數陣列中找到重復的數字? )(小米)
(3) 如何在未排序整數陣列中找到最大值和最小值? (位元組跳動)
(4)在Java中如何從給定陣列中洗掉多重復制?
(5)大數相加(今日頭條)

1.1.3 鏈表
(1).那查詢第一個跟倒數第二個呢?(這就不一樣了,第一個直接給了頭結點,倒數第二個需要從倒數第一個開始查詢,走兩步) (騰訊)
(2).arrayList底層原理 (滴滴)
(3).如何在一次遍歷中找到單個鏈表的中值?(中國平安)
(4)如何證明給定的鏈表是否包含回圈?如何找到回圈的頭節點?(優酷)
(5).兩個有交叉的單鏈表,求交叉點 (華為)
(6).如何得到單鏈表的長度? (360)
(7).如何在不使用遞回的情況下逆轉單鏈表?(小米/美團)
(8).怎么判斷鏈表有環? (滴滴)
1.1.4 佇列&堆疊
(1).如何使用堆疊實作佇列的功能?(廣州荔枝FM)
(2).兩個堆疊實作一個佇列(蘑菇街)
(3).兩個佇列實作一個堆疊 (騰訊)
(4).對比一下佇列和堆疊,以及它們底部實作 (騰訊)
1.1.5 二叉樹
(1).如何在給定的二叉樹中執行先序遍歷?(百度)
(2).如何實作后序遍歷演算法?(百度)
(3).如何在給定陣列中執行二分法搜索?(蘇寧)
(4).已知前序遍歷為{1,2,4,7,3,5,6,8},中序遍歷為{4,7,2,1,5,3,8,6},它的二叉樹是怎么樣的?(58)
(5).輸入兩棵二叉樹A 和 B,判斷 B 是不是 A 的子結構, (愛奇藝)
(6).請實作兩個函式,分別用來序列化二叉樹和反序列化二叉樹, (YY)
(7).平衡二叉樹和紅黑樹的區別?(位元組跳動)
(8).什么是平衡二叉樹,它有什么特征 (美團)
(9).B 樹,B+樹
1.1.6 HashMap
(1).HashMap的底層原理是什么?執行緒安全么? (百度( 美團)
(2).HashMap中put是如何實作的? (滴滴)
(3).談一下hashMap中什么時候需要進行擴容,擴容resize()又是如何實作的?
(4).什么是哈希碰撞?怎么解決? (滴滴.美團)
(5).HashMap和HashTable的區別 (小米)
(6).HashMap中什么時候需要進行擴容,擴容resize()是如何實作的? (滴滴)
(7).hashmap concurrenthashmap原理 (美團)
(8).arraylist和hashmap的區別,為什么取數快?(位元組跳動)
1.1.7圖
(1).旋轉輸出矩陣
(2).給定一個矩陣 int matrixA[m][n],每行每列都是增序的,實作一個演算法去尋找矩陣中的某個元素 element. (搜狗)

1.1.8排序演算法有哪些?
(1).top-k排序堆排序,位圖法) (美團)
(2).冒泡排序的手寫 (華捷艾米)
(3).堆排序演算法的手寫 (華捷艾米)
(4).橢圓形場地有兩個賽道,可以同時提供兩匹馬比賽,兩匹馬比賽后,可以獲知兩匹馬中跑的快的那匹馬,但是沒有計時工具,問題,如何最優的演算法(比賽次數最少),獲知10匹馬中速度最快的三匹馬 (阿里)
(5).輸入一個整型無序陣列,對堆排序(阿里)
(6).如何使用快速排序演算法對整數陣列進行排序([CVTE)
1.1.9 查找演算法
(1).有序陣列的二分查找演算法(百度)
1.1.10 串
(1).給定一個字串,請你找出其中不含有重復字符的 最長子串的長度, (位元組跳動)
(2).給定一個字串 s,找到 s 中最長的回文子串,你可以假設 s 的最大長度為 1000,
1.1.11 請寫出以下演算法的時間復雜度
冒泡排序法 插入排序法 堆排序法 二叉樹排序法
1.1.12 其他演算法
(1).常用的對稱加密演算法,有什么不同? (位元組跳動)
(2).如何在無序(有負數)的陣列中查找是否存在和為target的兩個陣列合,twoSum();(位元組)

1.4 網路編程
(1).描述TCP三次握手與四次揮手的程序與意義,
a.TCP的三次握手程序?為什么會采用三次握手,若采用二次握手可以嗎?
b.三次握手為什么不是兩次一次 五次六次(美團)
(2).TCP與UDP的區別是什么?(騰訊)
(3).Http與Https的關系是什么?
(4).SSL握手的程序,
(5).Http的post與get請求的區別是什么?
(6).輸入一個URL到瀏覽器發生了什么?(美團)

Android 相關:

  • 性能優化與原始碼

  • Android之SharedPreferences內部原理淺析

  • Android原始碼分析-訊息佇列和Looper

  • Android原始碼分析—帶你認識不一樣的AsyncTask

  • Android性能優化之使用執行緒池處理異步任務

  • Android Context完全決議,你所不知道的Context的各種細節

  • Android行程間通信(IPC)機制Binder簡要介紹和學習計劃

  • Activity

  • Activity是什么?

  • 典型情況下的Activity生命周期?

  • 例外情況下的Activity的生命周期 & 資料如何保存和恢復?

  • 從Activity A跳轉到Activity B之后,然后再點擊back鍵之后,它們的生命周期呼叫流程是什么?

  • 如何統計Activity的作業時間?

  • 給我說說Activity的啟動模式 & 使用場景,

  • 如何在任意位置關掉應用所有Activity & 如何在任意位置關掉指定的Activity?

  • Activity的啟動流程(從原始碼角度決議)?

  • 啟動一個其它應用的Activity的生命周期分析,

  • BroadcastReceiver

  • 廣播是什么?

  • 廣播的注冊方式有哪些?

  • 廣播的分類 & 特性 & 使用場景?

  • 說說系統廣播和本地廣播的原理 & 區別 & 使用場景,

  • 有兩個應用注冊了一樣的廣播,一個是靜態,一個是動態,連優先級也一樣,那么當廣播從系統發出來后,哪個應用先接收到廣播?

  • Fragment

  • Android中v4包下Fragment和app包下Fragment的區別是什么?

  • Fragment的生命周期 & 請結合Activity的生命周期再一起說說,

  • 說說Fragment如何進行懶加載,

  • ViewPager + Fragment結合使用會出現記憶體泄漏嗎 & 如何解決?

  • Fragment如何和Activity進行通信 & Fragment之間如何進行通信?

  • 給我談談Fragment3種切換的方式以及區別 & 使用場景,

  • getFragmentManager,getSupportFragmentManager,getChildFragmentManager之間的區別?

  • FragmentPagerAdapter和FragmentStatePagerAdapter區別?

  • Fragment如何實作類似Activity堆疊的壓堆疊和出堆疊效果的?

  • 序列化

  • 什么是序列化 & 能用來干什么?

  • Android中序列化方式有幾種?說說它們的區別,

  • 如果想要序列化的類中某些欄位不序列化,那么應該怎么做?

  • ** IPC**

  • 說說你對Android多行程開發的認識?

  • Android中行程間通信的方式有哪些?

  • 什么是AIDL?如何創建一個AIDL,

  • 檔案存盤

  • 說說Android中資料持久化的方式 & 使用場景,

  • 接觸過MMKV嗎?說說SharedPreference和它的區別,

  • 第三方資料庫框架用過哪些?有沒有自己封裝過一個SQLite的庫?

  • SQLite是執行緒安全的嗎 & SharedPreference是執行緒安全的嗎?

  • 請簡單的給我說說什么是三級快取?

  • SharedPreference的apply和commit的區別,

  • 談談你對SQLite事務的認識,

  • ListView & RecyclerView

  • ListView是什么?如何使用?

  • RecyclerView是什么?如何使用?如何回傳不一樣的Item,

  • ListView和RecycyclerView的區別是什么?

  • 分別講講你對ListView & RecyclerView的優化經驗,

  • 給我說說RecyclerView的回收復用機制

  • 說說你是如何給ListView & RecyclerView加上拉重繪 & 下拉加載更多機制,

  • 談談你是如何對ListView & RecycleView進行區域重繪的?

  • 談談如何進行分頁加載?

  • ScrollView下嵌套一個ListView通常會出現什么問題?

  • 一個ListView或者一個RecyclerView在顯示新聞資料的時候,出現圖片錯位,可能的原因有哪些 & 如何解決?

  • View事件分發機制

  • View繪制機制

  • 布局

  • Binder

  • 影片機制

  • JNI

  • Window & Appliction & Context

  • 通知

  • 對話框(Dialog & DialogFragment & PopWindow)

  • 藍牙

  • Android中行程與執行緒調度之nice

  • Android元件so的加載原理

  • Toast 原理剖析

  • Android I/O

  • Android專案構建流程

  • HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次揮手程序

  • TCP協議與UDP協議的區別

  • 網頁中輸入url,到渲染整個界面的整個程序,以及中間用了什么協議?

  • 具體介紹下TCP/IP

  • TCP的三次握手和四次揮手,為什么不是兩次握手?為什么揮手多一次呢?

  • HTTP的幾種請求方法具體介紹

  • HTTP請求和回應報文的格式,以及常用狀態碼,

  • Service的兩種啟動方式?區別在哪?

  • 如何保證Service不被殺死 ?

  • 能否在Service開啟耗時操作 ? 怎么做 ?

  • 用過哪些系統Service ?

  • 了解ActivityManagerService嗎?發揮什么作用

  • 描述一下Android資料持久存盤方式?

  • SharedPreferences的應用場景?注意事項?

  • SharedPrefrences的apply和commit有什么區別?

  • 了解SQLite中的事務操作嗎?是如何做的

  • 使用SQLite做批量操作有什么好的方法嗎?

  • 如何洗掉SQLite中表的個別欄位

  • 使用SQLite時會有哪些優化操作?

  • 廣播有幾種形式 ? 都有什么特點 ?

  • 廣播的兩種注冊方式 ?

  • 廣播發送和接收的原理了解嗎 ?(Binder機制、AMS)

  • 談談訊息機制Handler作用 ?有哪些要素 ?流程是怎樣的 ?

  • 一個執行緒能否創建多個Handler,Handler跟Looper之間的對應關系 ?

  • 軟參考跟弱參考的區別

  • Handler 引起的記憶體泄露原因以及最佳解決方案

  • 為什么系統不建議在子執行緒訪問UI?

  • Looper死回圈為什么不會導致應用卡死?

  • 使用Handler的postDealy后訊息佇列會有什么變化?

  • 可以在子執行緒直接new一個Handler嗎?怎么做?

  • Message可以如何創建?哪種效果更好,為什么?

  • 執行緒池的好處? 四種執行緒池的使用場景,執行緒池的幾個引數的理解?

  • Android中還了解哪些方便執行緒切換的類?

  • 講講AsyncTask的原理

  • IntentService有什么用 ?

  • Bitmap使用需要注意哪些問題 ?

  • Bitmap.recycle()會立即回收么?什么時候會回收?如果沒有地方使用這個Bitmap,為什么垃圾回收不會直接回收?

  • 一張Bitmap所占記憶體以及記憶體占用的計算

  • Android中快取更新策略 ?

  • LRU的原理 ?

  • 記憶體泄露和記憶體溢位的區別 ?AS有什么工具可以檢測記憶體泄露

  • 性能優化,怎么保證應用啟動不卡頓? 黑白屏怎么處理?

  • 強參考置為null,會不會被回收?

  • ListView跟RecyclerView的區別

  • ListView的adapter是什么adapter

  • LinearLayout、FrameLayout、RelativeLayout性能對比,為什么?

  • 談談MVC、MVP和MVVM,好在哪里,不好在哪里 ?

  • 封裝p層之后.如果p層資料過大,如何解決?

  • 是否能從Android中舉幾個例子說說用到了什么設計模式 ?

  • 裝飾模式和代理模式有哪些區別 ?

  • 如何進行單元測驗,如何保證App穩定 ?

  • Android中如何查看一個物件的回收情況 ?

  • Apk的大小如何壓縮 ?

  • 如何通過Gradle配置多渠道包?

  • 插件化原理分析

  • 組件化原理

  • 跨組件通信

  • 組件化中路由、埋點的實作

  • Hook以及插樁技術

  • Android的簽名機制?

  • 會用Kotlin、Fultter嗎? 談談你的理解

  • Kotlin和Java的區別

  • 說一下Kotlin的伴生物件

  • 請簡單介紹下Flutter框架,以及它的優缺點?

  • 介紹下Flutter的理念架構

  • 介紹下Flutter的FrameWork層和Engine層,以及它們的作用

  • 介紹下Widget、State、Context 概念

  • StatefulWidget 的生命周期

  • 簡述Widgets、RenderObjects 和 Elements的關系

  • 簡述Flutter的繪制流程

  • 簡述Flutter的執行緒管理模型

  • 設計思想與代碼質量優化

  • 程式性能優化

  • 記憶體優化

  • 耗電優化

  • 網路傳輸與資料存盤優化

  • 開發效率優化

  • 熱修復設計

  • 插件化框架設計

  • 組件化框架設計.

  • 圖片加載框架

  • 網路訪問框架設計

  • RXJava回應式編程框架設計

  • IOC架構設計

  • Android架構組件Jetpack

  • LeakCanary核心原理原始碼淺析

  • LruCache 使用及原理

  • ARouter原理

  • 注解框架實作原理

  • Android 如何撰寫基于編譯時注解的專案

  • RxJava2+Retrofit2+OkHttp3的基礎、封裝和專案中的使用

  • Rxjava2.0+Retrofit+Okhttp(封裝使用)+MVP框架搭建

  • Android 插件化和熱修復知識梳理

  • Android開發中比較常見的記憶體泄漏問題及解決辦法

  • 如何檢測和定位Android記憶體泄漏

  • 圖片占據的記憶體演算法

  • 為什么圖片需要用軟參考,MVP模式中的view介面用弱參考

  • 基于DataBinding與LiveData的MVVM實踐

  • App穩定性優化

  • App啟動速度優化

  • App記憶體優化

  • App繪制優化

  • App瘦身

  • 網路優化

  • App電量優化

  • 安卓的安全優化

  • 為什么WebView加載會慢呢?

  • 如何優化自定義View

(1). Acitvity的生命周期是什么樣的?
a. Acitvity的生命周期,如何摧毀一個Activity?
(2). Activity的4大啟動模式,與開發中需要注意的問題,如onNewIntent() 的呼叫;
a. Activity的啟動模式,區別
b. singleInstance如果不指定堆疊名,是怎么分配的?
(3). Intent顯示跳轉與隱式跳轉,如何使用?
(4). Activity A跳轉B,B跳轉C,A不能直接跳轉到C,A如何傳遞訊息給C?
(5). Activity如何保存狀態的?
(6). 請描訴Activity的啟動流程,從點擊圖示開始,
a. APP是怎么啟動的?
b. 啟動一個Activity的流程分析
(7). Service的生命周期是什么樣的?
a. Service兩種生命周期以及區別
(8). 你會在什么情況下使用Service?
(9). startServer和bindServier的區別?
(10). Service和Thread的區別?
(11). IntentService與Service的區別?
(12). ContentProvider如何自定義與使用場景是什么?
(13). BroadcastReciver的靜態注冊與動態注冊的區別?
(14). 廣播的分類與作業原理
(15). 可以再onReceive中開啟執行緒么,會有什么問題?
(16). 什么是有序廣播?
(17). Application、Activity、Service中context的區別?能否啟動一個activity、dialog?
(18). Fragment的生命周期?
(19). Fragment的建構式為啥不讓傳參?
(20). Fragment add與replace的區別,分別對Fragment的生命周期影響

三、View System

(1).View繪制流程與自定義View注意點,
Android中的每一個UI控制元件都是集成自View,然后這些View都具有相同的繪制流程,必須經過measure,layout和draw.
view的繪制流程是在Window添加程序中,ViewRootImpl類的setView方法開始的
(2).在onResume中可以測量寬高么
(3).事件分發機制是什么程序?
(4)沖突怎么解決?
(5).View分發反向制約的方法?
(6).自定義Behavior,NestScroll,NestChild,
(7).View.inflater程序與異步inflater
(8).inflater為什么比自定義View慢?
(9).onTouchListener onTouchEvent onClick的執行順序,
(10).怎么攔截事件 onTouchEvent如果回傳false onClick還會執行么?
(11).事件的分發機制,責任鏈模式的優缺點
(12).影片的分類以及區別
(13).屬性影片與普通的影片有什么區別?
(14).插值器 估值器的區別
(15).RecyclerView與ListView的對比,快取策略,優缺點,
(16).WebView如何做資源快取?
(17).WebView和JS互動的幾種方式與攔截方法,
(18).自定義view與viewgroup的區別
(19).View的繪制原理
(20).View中onTouch,onTouchEvent和onClick的執行順序
(21).View的滑動方式
(22).invalidate() 和 postInvalicate() 區別
(23).View的繪制流程是從Activity的哪個生命周期方法開始執行的
(24).Activity,Window,View三者的聯系和區別
(25).如何實作Activity視窗快速變暗
(26).ListView卡頓的原因以及優化策略
(27).ViewHolder為什么要被宣告成靜態內部類
(28).Android中的影片有哪些? 影片占用大量記憶體,如何優化
(29).自定義View執行invalidate()方法,為什么有時候不會回呼onDraw()
(30).DecorView, ViewRootImpl,View之間的關系,ViewGroup.add()會多添加一個ViewrootImpl嗎
(31).如何通過WindowManager添加Window(代碼實作)?
(32).為什么Dialog不能用Application的Context?
(33).WindowMangerService中token到底是什么?有什么區別
(34).RecyclerView是什么?如何使用?如何回傳不一樣的Item
(35).RecyclerView的回收復用機制
(36).如何給ListView & RecyclerView加上拉重繪 & 下拉加載更多機制
(37).如何對ListView & RecycleView進行區域重繪的?
(38).ScrollView下嵌套一個RecycleView通常會出現什么問題?
(39).一個ListView或者一個RecyclerView在顯示新聞資料的時候,出現圖片錯位,可能的原因有哪些 & 如何解決?
(40_.Requestlayout,onlayout,onDraw,DrawChild區別與聯系
(41).如何優化自定義View
(42).Android屬性影片實作原理,補間影片實作原理

四、Android FrameWork

1.Android中多行程通信的方式有哪些?
a.行程通信你用過哪些?原理是什么?
2.描述下Binder機制原理?
3.Binder執行緒池的作業程序是什么樣?
4.Handler怎么進行執行緒通信,原理是什么?
5.Handler如果沒有訊息處理是阻塞的還是非阻塞的?
6.handler.post(Runnable) runnable是如何執行的?
7.handler的Callback和handlemessage都存在,但callback回傳true handleMessage還會執行么?
8.Handler的sendMessage和postDelay的區別?
9.IdleHandler是什么?怎么使用,能解決什么問題?
10.為什么Looper.loop不阻塞主執行緒?
a.Looper無限回圈為啥沒有ANR
11.Looper如何在子執行緒中創建?
12.Looper、handler、執行緒間的關系,例如一個執行緒可以有幾個Looper可以對應幾個Handler?
13.如何更新UI,為什么子執行緒不能更新UI?
14.ThreadLocal的原理,以及在Looper是如何應用的?
15.Android 有哪些存盤資料的方式?
16.SharedPreference原理,commit與apply的區別是什么?使用時需要有哪些注意?
17.如何判斷一個 APP 在前臺還是后臺?
18.如何做應用保活?
19.一張圖片100x100在記憶體中的大小?
20. Intent的原理,作用,可以傳遞哪些型別的引數?
21.如果需要在Activity間傳遞大量的資料怎么辦?
22.打開多個頁面,如何實作一鍵退出?
23.LiveData的生命周期如何監聽的?

五,性能優化專題

1.App穩定性優化
2.App啟動速度優化
3.App記憶體優化
4、App繪制優化
5.App瘦身
6.網路優化
7.App電量優化
8.安卓的安全優化
9.為什么WebView加載會慢呢?
10.如何優化自定義View
11.FC(Force Close)什么時候會出現?
12.Java多執行緒引發的性能問題,怎么解決?
13.TraceView的實作原理,分析資料誤差來源,
14.是否使用過SysTrace,原理的了解?
15.mmap + native 日志優化?

六、三方原始碼理解

1.Glide :加載、快取、LRU 演算法(如何自己設計一個大圖加載框架) (LRUCache 原理)
2.EventBus
3.LeakCanary
4.ARouter
5.插件化(不同插件化機制原理與流派,優缺點,局限性)
6.熱修復
7.RXJava (RxJava 的執行緒切換原理)
8.Retrofit (Retrofit 在 OkHttp 上做了哪些封裝?動態代理和靜態代理的區別,是怎么實作的)
9.OkHttp

題庫整理成PDF檔案,有需要的朋友可以點此處免費獲取完整版,

三、最后

希望大家都能找到合適自己滿意的作業!fighting!

最后文末分享一份位元組總監整理的Android組件化的最佳實戰總結

為了不回應閱讀,只截圖展示部分,有需要完整版位元組總監整理的Android組件化的最佳實戰和文中學習題庫都可以點此處免費獲取,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/271966.html

標籤:其他

上一篇:springcloud面試題【第一期】

下一篇:SpringBoot設定熱部署(超詳細)【IDEA版】

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more