主頁 >  其他 > 面試復盤 | 小米一二面(已定SP)+百度一二三面(意向)

面試復盤 | 小米一二面(已定SP)+百度一二三面(意向)

2021-11-05 08:09:50 其他

前言

坐標:小米base南京,百度base上海,

小米一面8.28

  • 深挖專案和競賽
    主要是實驗室智能機器人相關的專案(系統設計、機器人視覺、演算法落地);
    經典被問為什么研究演算法相關的,作業要找開發(演算法太難了TT);
    競賽主要是數學建模(兩次國賽兩次省賽),
  • 對安卓系統有哪些理解
    一開始答的activity運行起來之后的一系列程序,答偏了,面試官想問自己對安卓系統的理解,坦誠沒有思考過,(問點Java基礎吧)
  • JAVA中的參考型別
    1. 強參考,任何時候都不會被;垃圾回收器回收,如果記憶體不足,寧愿拋出OutOfMemoryError
      使用場景:我們平常大部分使用的場景都是使用了強參考,比如new創建物件,反射獲得一個物件等,
    2. 軟參考,只有在記憶體將滿的時候才會被垃圾回收器回收,如果還有可用記憶體,垃圾回收器不會回收,
      軟參考可以和一個參考佇列進行關聯,如果這個軟參考的物件被垃圾回收,就會將這個軟參考加入到關聯的佇列中去, 可用于高速快取,
    3. 弱參考(WeakReference),生命周期更短,只要垃圾回收器運行,就肯定會被回收,不管還有沒有可用記憶體,
      使用場景: 弱參考用于生命周期更短的,對記憶體更敏感的場景中,比如占用記憶體很大的Map,java api中就提供了WeakHashMap使用,就會是的大Map被及時清理掉,
    4. 虛參考(PhantomReference),虛參考等于沒有參考,任何時候都有可能被垃圾回收,虛參考必須和參考佇列聯合使用,參考佇列的作用和軟弱參考一樣,
      使用場景: 我覺得他的使用場景應該在判斷一個物件是否被垃圾回收了,什么時候參考佇列有新的參考入隊了,就說明他被回收了,
  • 堆疊和佇列,應用場景
    FILO,FIFO,使用場景答得比較隨意,提了一些堆疊的應用(方法呼叫程序對應入堆疊出堆疊、安卓activity任務堆疊),佇列主要用在一些需要公平處理的場景,訊息佇列,阻塞佇列,
    這個問題被問過很多次,每次都是隨意回答一下,希望大佬們評論區指點一波怎么答最好,
  • 生產者消費者問題中的鎖的傳遞,PV操作
    生產者:每次執行時先判斷當前庫存是否超過負載(最大庫存),超過的話就wait,釋放鎖;否則庫存自增,然后喚醒其他執行緒,
    消費者:每次執行時先判斷當前庫存是否為零,是的話就wait,釋放鎖;否則庫存自減,然后喚醒其他執行緒,
    PV操作當時沒答上來,后來查了一下應該是基于信號量的方式實作消費者生產者問題,因自己不能確保理解正確了,先丟個鏈接Java實作PV操作 ,有大佬理解的可以評論區討論一下!
  • 宏觀的描述垃圾回收的思路
    先判斷哪些物件需要回收,然后根據物件特性確定相應的回收演算法,選用合適的垃圾回收器,
  • 怎么判斷物件該不該回收,說說自己的理解,如果出現回圈參考怎么辦
    參考計數法、可達性分析法
  • 可達性分析法中淘汰的物件一定會被回收嗎?
    即使在可達性分析演算法中不可達的物件,也并非"非死不可"的,這時候他們暫時處在"緩刑"階段,要宣告一個物件的真正死亡,至少要經歷兩次標記程序: 如果物件在進行可達性分析之后發現沒有與GC Roots相連接的參考鏈,那它將會被第一次標記并且進行一次篩選,篩選的條件是此物件是否有必要執行?nalize()方法,當物件沒有覆寫?nalize()方法或者?nalize()方法已經被JVM呼叫過,虛擬機會將這兩種情況都視為"沒有必要執行",此時的物件才是真正"死"的物件,
    如果這個物件被判定為有必要執行?nalize()方法,那么將會被放置在一個叫做F-Queue的佇列之中,并在稍后由一個虛擬機自動建立的、低優先級的Finalizer執行緒去執行它(這里所說的執行指的是虛擬機會觸發?nalize()方法),?nalize()方法是物件逃脫死亡的最后一次機會,稍后GC將對F-Queue中的物件進行第二次小規模標記,如果物件在?nalize()中成功拯救自己(只需要重新與參考鏈上的任何一個物件建立起關聯關系即可,譬如把自己(this關鍵字)賦值給某個類變數或者物件的成員變數),那在第二次標記時它將會被移除出"即將回收"的集合;如果物件這時候還是沒有逃脫,那基本上它就是真的被回收了,
  • 具體怎么做呢,挑一個垃圾回收演算法談談自己的理解
    說了復制演算法,
  • 復制算有什么問題
    僅針對新生代效果好,浪費記憶體(只能用一半)轉移存活物件時會導致用戶執行緒無法定位參考物件,
  • tcp怎么保證可靠性
  1. 序列號和確認號機制:
    TCP 發送端發送資料包的時候會選擇序列號,接收端收到資料包后會檢測資料包的完整性,如果檢測通過會回應確認號表示收到了資料包,
  2. 超時重發機制:
    發送端發送了資料包后會啟動一個定時器,如果一定時間沒有收到接收端的確認,將會重新發送該資料包,
  3. 對亂序資料包重新排序:
    從 IP 網路層傳輸到 TCP 層的資料包可能會亂序,TCP 層會對資料包重新排序再發給應用層,
  4. 丟棄重復資料:
    從 IP 網路層傳輸到 TCP 層的資料包可能會重復,TCP 層會丟棄重復的資料包,
  5. 流量控制:
    TCP 發送端和接收端都有一個固定大小的緩沖空間,為了防止發送端發送資料的速度太快導致接收端緩沖區溢位,發送端只能發送接收端可以接納的資料,為了達到這種控制效果,TCP 用了流量控制協議(可變大小的滑動視窗協議)來實作,
    【滑動視窗詳解】
    滑動視窗通俗來講就是一種流量控制技術,
    它本質上是描述接收方的TCP資料報緩沖區大小的資料,發送方根據這個資料來計算自己最多能發送多長的資料,如果發送方收到接收方的視窗大小為0的話,那么發送方將停止發送資料,等到接收方發送視窗大小不為0的資料報的到來,首次發送資料時的視窗是鏈路帶寬決定,
  6. 擁塞控制:在資料傳輸程序中,可能由于網路狀態的問題,造成網路擁堵,此時引入擁塞控制機制,在保證TCP可靠性的同時,提高性能,具體為慢啟動、擁塞避免、快重傳與快恢復……
  • 演算法題:給定一個多叉樹,回傳這棵樹哪一層所有的節點和最大,回傳層號,
    本質上就是層序遍歷,維護一個層節點和,多叉樹第一次寫hhh

    復制代碼

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    import java.util.*;

    public class Duochashu {

    public static void main(String[] args) {

    TreeNode root = new TreeNode(0);

    root.children.add(new TreeNode(1));

    root.children.add(new TreeNode(2));

    root.children.add(new TreeNode(3));

    System.out.println(new Duochashu().getMaxLayerVal(root));

    }

    private int getMaxLayerVal(TreeNode root) {

    Deque<TreeNode> queue = new LinkedList<>();

    int max_layer = 0;

    queue.offer(root);

    while (!queue.isEmpty()) {

    int n = queue.size();

    int tmp = 0;

    for(int i = 0; i < n; i++) {

    TreeNode node = queue.poll();

    tmp += node.val;

    for(TreeNode child : node.children) {

    queue.offer(child);

    }

    }

    max_layer = Math.max(max_layer, tmp);

    }

    return max_layer;

    }

    }

    class TreeNode {

    int val;

    List<TreeNode> children;

    public TreeNode() {

    }

    public TreeNode(int val, List<TreeNode> children) {

    this.val = val;

    this.children = children;

    }

    public TreeNode(int val) {

    this.val = val;

    children = new ArrayList<>();

    }

    }

    小結:小米一面是我秋招以來面試中受到鼓勵最強烈的一次,面試官會認真聽我說為什么放棄原來的研究方向選擇做開發,為什么簡歷寫得意向后端但是投了安卓,并且對我的想法表示支持;我在描述自己碩士期間做的課題時他非常耐心,并且表示他作為一個“外行”能夠聽懂這個專案的意義和我做的作業,一個勁的夸我,最后說:作為非科班的學生,我非常看好你!(一面應該給了我非常好的面評,因此最后定了SP)

小米二面9.9

  • 為啥要選擇安卓
    跟一面面試官問了一樣的問題hhh,經典再現(后面我會單獨整理一份HR面、主管面相關的問題
  • 創建執行緒的方式
    繼承Thread類;實作Runnable介面;實作Callable介面(JDK1.5);執行緒池方式創建
  • 多執行緒的死鎖產生條件
    互斥條件:一個資源一次只能被一個執行緒使用
    請求與保持條件:一個執行緒因請求資源而阻塞時,對已獲得資源保持不放
    不剝奪條件:執行緒獲得的資源,在未完全使用完之前,不能強行剝奪
    回圈等待條件:若干行程之間形成一種頭尾相接的環形等待資源關系
  • final關鍵字的作用
    修飾變數:背final修飾的變數可以當作常量,不能被修改,需要初始化;
    修飾方法:方法不能被重寫;
    修飾類:類不能被繼承,類的方法也被默認修飾為final
  • synchronized鎖的作用
    使一段代碼塊或者一個方法在多執行緒操作訪問時保證安全,具有原子性、可見性與有序性,
  • 如果兩個執行緒被synchronized修飾了,執行緒A拿到了鎖,執行緒B會怎么樣?那如果執行緒A這時候阻塞了,執行緒B會怎么樣
    (1)A拿到鎖,B阻塞;
    (2)A阻塞了,B還是繼續阻塞,
  • 說說看jvm是啥,有啥用
    (答得比較隨意,面試官說別背八股文hhh)他就是來解釋Java原始碼編譯出來的位元組碼檔案的,針對每種OS,JVM有單獨的映射規范來解釋,因此java可以做到跨平臺,JVM負責記憶體里怎么給物件分配空間、怎么回收分配出去的空間……
  • 反射有什么用,反射是怎么實作的
    盲區,面試后補習了反射相關的知識,
    反射就是一種動態獲取類的資訊并呼叫的機制,運行狀態中,對任意一個類,都可以知道它的成員變數與方法,并且可以呼叫,關于怎么實作的,我覺得可以說通過Class.forName()方法獲取類物件,然后通過類物件的newInstance()方法可以創建實體,通過getMethod()方法可以獲取類的成員方法物件,成員方法物件通過invoke()實習呼叫該方法,,不過這么答可能有些淺了,《反射是怎么實作的》求教一波,
  • 演算法題:合并有序陣列(這道題百度二面也遇到了,小米面試官沒有要求,百度要求只用兩次回圈陳述句)

    復制代碼

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    class Solution {

    public void merge(int[] nums1, int m, int[] nums2, int n) {

    int p1 = 0, p2 = 0;

    int[] sorted = new int[m + n];

    int cur;

    while (p1 < m || p2 < n) {

    if (p1 == m) {

    cur = nums2[p2++];

    } else if (p2 == n) {

    cur = nums1[p1++];

    } else if (nums1[p1] < nums2[p2]) {

    cur = nums1[p1++];

    } else {

    cur = nums2[p2++];

    }

    sorted[p1 + p2 - 1] = cur;

    }

    for (int i = 0; i != m + n; ++i) {

    nums1[i] = sorted[i];

    }

    }

    }

    小結:二面問題還是比較基礎的,不過當時自己困得很,很多應該背熟的八股說的結結巴巴,不過面試官也沒有刁難,全程笑著問,

百度一面9.12(9點開始,持續60min,精神抖擻)

一面純八股(致秋招遇到的第一個開視頻的女面試官溫柔姐姐人美心善帶著口罩愛瞇眼笑)

  • 面向物件三大特性,怎么理解多型
    繼承 封裝 多型
    多型 可以分為兩種:編譯時多型即多載,指java允許方法名相同而引數不同(回傳值可以相同也可以不同),同一個類中允許存在多個同名函式,只要引數型別或引數個數不同即可,
    運行時多型即重寫,指在繼承體系中,子類重寫父類方法,JVM運行時根據呼叫該方法的型別決定呼叫那個方法,
    Java實作多型的三個必要條件:繼承、重寫和向上轉型:
    ? 繼承就是多型中必須存在繼承關系的父子類
    ? 重寫就是子類對父類的某些方法重新定義,
    ? 向上轉型是說讓父類參考指向子類物件,這樣該參考既可以呼叫父類方法,也可以呼叫子類方法,

  • 抽象類和介面分別在什么場景使用

    圖片說明

  • String是基礎型別還是參考型別
    參考型別

  • String物件在進行一個+操作時,會發生什么
    運行時, 兩個字串str1, str2的拼接首先會呼叫 String.valueOf(obj),這個Obj為str1,而String.valueOf(Obj)中的實作是return obj == null ? “null” : obj.toString(), 然后產生StringBuilder, 呼叫的StringBuilder(str1)構造方法, 把StringBuilder初始化,長度為str1.length()+16,并且呼叫append(str1)!接下來呼叫StringBuilder.append(str2), 把第二個字串拼接進去, 然后呼叫StringBuilder.toString回傳結果,

  • “+”原本是運算子,為什么可以用來拼接字串?
    運算子多載,
    (這里是有爭議的,Java本身是不支持運算子多載的,String的+操作實際上String類作者設計的語法糖,還可以追問為啥Java不給支持運算子多載?我猜是性能問題)

  • new一個物件的背后發生了什么
    Java在new一個物件的時候,會先查看物件所屬的類有沒有被加載到記憶體,如果沒有的話,就會先通過類的全限定名來加載,
    加載并初始化類完成后,再進行物件的創建作業,我們先假設是第一次使用該類,這樣的話new一個物件就可以分為兩個程序:加載并初始化類和創建物件,
    創建物件:
    (1)在堆區分配物件需要的記憶體
    分配的記憶體包括本類和父類的所有實體變數,但不包括任何靜態變數
    (2)對所有實體變數賦默認值
    將方法區內對實體變數的定義拷貝一份到堆區,然后賦默認值
    (3)執行實體初始化代碼
    初始化順序是先初始化父類再初始化子類,初始化時先執行實體代碼塊然后是構造方法
    如果有類似于Child c = new Child()形式的c參考的話,在堆疊區定義Child型別參考變數c,然后將堆區物件的地址賦給它

  • java的泛型了解嗎,一般用在什么場景
    泛型就是把型別引數化,在編譯的時候才會確定具體的引數,可以用在類、介面、方法中,
    場景:我覺得當類 方法 介面 這些 當我們不確定使用的物件的型別是啥 或者 可能存在多種型別的可能的時候,可以使用泛型,最熟悉的就是集合類的實作都用到了泛型,這樣我們在用的時候可以在<>中指定自己的需求,而不針對每種型別設計一個新的類,用上泛型可以提高型別的安全性,避免強轉等,
    (有官方回答的求指導)

  • 程式運行時能夠得到泛型物件的具體型別嗎
    不能,編譯的時候型別已經擦除了,看到的都是Object類

  • 誰來負責泛型的處理?
    答的JVM,她笑了笑,編譯器?

  • 陣列和list的區別
    長度固定與否?可以存參考型別/基礎型別?list實作類有很多,方法很豐富,底層有陣列 有鏈表,又有相應的特點,這題大家應該都會

  • 排序演算法的穩定是什么含義?哪些演算法是穩定的
    原序列中的值相等的元素的相對順序,排序之后還能保持的,就是穩定,
    冒泡 插入 歸并 計數 桶排序……

  • 哪些演算法可以做到,每一趟(每一次回圈)都能把某個元素放到它最終應該在的位置?

    1. 冒泡:每一趟都把最大的冒到最后去
    2. 選擇排序:取出當前無序序列中最小值與第一位置的元素互換位置
    3. 快排:每一趟都把比基準小的移到基準左邊去,比基準大的移到基準右邊去,所以基準到了最終位置;
    4. 堆排序:每一趟回圈后根節點就是最大的,拿它跟末尾元素交換
  • 快排每一次回圈干了什么事情,堆排序呢
    如上

  • 網路分層模型 每一層的功能

    圖片說明

  • http在哪一層(應用)

  • http狀態碼302是什么意思(臨時重定向)

  • 演算法題:二叉樹的最大深度

    復制代碼

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    import java.util.*;

    public class Main {

    public static void main(String[] args) {

    TreeNode root = new TreeNode(1);

    root.left = new TreeNode(2);

    root.left.left = new TreeNode(3);

    System.out.println(depthOfTree(root));

    }

    public static int depthOfTree(TreeNode root) {

    if(root == null) {

    return 0;

    }

    return Math.max(depthOfTree(root.left), depthOfTree(root.right)) + 1;

    }

    }

    class TreeNode{

    int val;

    TreeNode left;

    TreeNode right;

    TreeNode() {}

    TreeNode(int val) {

    this.val = val;

    }

    }

    百度二面9.12(10.20開始,持續55min,口干舌燥)

  • String、StringBuilder和StringBuffer的區別
    執行速度,在這方面運行速度快慢為:StringBuilder > StringBuffer > String
    可變不可變,String為字串常量,而StringBuilder和StringBuffer均為字串變數,即String物件一旦創建之后該物件是不可更改的,但后兩者的物件是變數,是可以更改的,
    執行緒安全上,StringBuilder是執行緒不安全的,而StringBuffer是執行緒安全的(String不可變當然執行緒安全)

  • 什么場景用String,什么場景用StringBuffer
    看需求 是否存在執行緒安全問題,空間限制,時間限制

  • JVM怎么判斷物件是否可以回收(可達性分析法)

  • 可達性分析法中一般可以選哪些物件作為GC root,常量可以嗎?
    虛擬機堆疊(堆疊幀中的本地變數表)中參考的物件,
    方法區中靜態屬性參考的物件,
    方法區中常量參考的物件,
    本地方法堆疊中(Native方法)參考的物件

  • 常見的回收演算法,復制演算法的優缺點(不寫了大家應該都會)

  • 復制演算法中,使用的空間和未使用的空間比例默認是多少
    針對新生代,里面又細分為eden和兩個survivor區,默認8:1:1

后面問了一堆安卓的八股和場景題,答得稀爛,先留個坑 日后再填,,,

  • 安卓四大組件

  • 為什么要有content provider

  • 四大組件有哪些共同點

  • activity的生命周期

  • 有一個activity1在運行,這時候來了一個activity2,是一個透明主題界面,再回到activity1,這期間的兩個activity的生命周期狀態是怎么轉換的?

  • 安卓開發常見的布局,你用過哪些

  • 如果要實作一個滾動界面功能,其中螢屏底部有一個按鈕(如確認)不動,其他內容隨著用戶下滑滾動,怎么做?

  • 演算法題1:合并兩個有序鏈表(見小米二面)

  • 演算法題2:字串轉整型atoi

    復制代碼

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    import java.util.*;

    public class Solution {

    public int atoi (String str) {

    // write code here

    char[] sc = str.toCharArray();

    int n = sc.length;

    int index = 0;

    while(index < n && sc[index] == ' ') {

    index++;

    }

    if(index == n) return 0;

    int sign = 1;

    char fc = sc[index];

    if(fc == '+'){

    index++;

    }else if(fc == '-') {

    index++;

    sign = -1;

    }

    int ans = 0;

    while(index < n) {

    char cur = sc[index];

    if(cur > '9' || cur < '0'){

    break;

    }

    if(ans > Integer.MAX_VALUE/10 || (ans == Integer.MAX_VALUE/10 && (cur - '0') > Integer.MAX_VALUE%10)){

    return Integer.MAX_VALUE;

    }

    if(ans < Integer.MIN_VALUE/10 || (ans == Integer.MIN_VALUE/10 && (cur - '0') > -Integer.MIN_VALUE%10)){

    return Integer.MIN_VALUE;

    }

    ans = ans*10 + sign*(cur - '0');

    index++;

    }

    return ans;

    }

    }

百度三面9.12(11.45開始,持續65min,餓壞了)

  • 介紹碩士課題(智能機器人相關)
  • 其中的困難、最大的成果、團隊合作、自己的職責
  • 安卓專案簡介(做的太基礎,不感興趣)
  • 演算法1:搜索插入位置(二分法)

    復制代碼

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    import java.util.*;

    public class Solution {

    public int searchInsert (int[] A, int target) {

    // write code here

    int l = 0, r = A.length - 1;

    int mid = -1;

    while(l <= r) {

    mid = l + (r-l)/2;

    if(A[mid] == target){

    return mid;

    }else if(A[mid] > target){

    r = mid -1;

    }else{

    l = mid + 1;

    }

    }

    return l;

    }

    }

  • 演算法2:最小的K個數

    復制代碼

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    import java.util.*;

    public class Solution {

    public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {

    ArrayList<Integer> ans = new ArrayList<>();

    if(k == 0) return ans;

    PriorityQueue<Integer> queue = new PriorityQueue<>(new Comparator<Integer>(){

    //@override

    public int compare(Integer o1, Integer o2){

    return o2 - o1;

    }

    });

    for(int i = 0; i < k; i++) {

    queue.offer(input[i]);

    }

    for(int i = k; i < input.length; i++) {

    if(queue.peek() > input[i]){

    queue.poll();

    queue.offer(input[i]);

    }

    }

    for(int i = 0; i < k; i++) {

    ans.add(queue.poll());

    }

    return ans;

    }

    }

  • sql:每個人最近的登錄日期(沒做對)

小結:百度的面試整體還是問的比較基礎的,很注重編碼能力,三輪連環面,從9點到下午1點,,,

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

標籤:其他

上一篇:【C++初階】C&C++記憶體管理

下一篇:C語言實作佇列

標籤雲
其他(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)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more