主頁 >  其他 > 信不信這些Java面試題,可以把70%程式員勸退?(附帶答案講解)

信不信這些Java面試題,可以把70%程式員勸退?(附帶答案講解)

2020-11-01 23:53:37 其他

上一篇文章我寫了阿里面試官認證的一些非常不錯的面試題和一些學習的思路,但是因為文章太長了就分為了兩個部分來完成,所以這一篇文章就把最后寫的Java面試帶上答案一同碼了出來,以下為解答大綱,部分作了擴展,

同時也整理了很多Java的面試資料,免費送給最近想要面試的同學,
需要的朋友可以點擊:點這個,點這個!!,暗號:csdn,

在這里插入圖片描述

1.private修飾的方法可以通過反射訪問,那么private的意義是什么

這題是一道思想題目,天天會碰到private,有沒有想過這個問題?

談談對java設計的認識程度,主要抓住兩點:

1.java的private修飾符并不是為了絕對安全性設計的,更多是對用戶常規使用java的一種約束;

2.從外部對物件進行常規呼叫時,能夠看到清晰的類結構,

2.Java類初始化順序

先說結論: 基類靜態代碼塊,基類靜態成員欄位(并列優先級,按照代碼中出現的先后順序執行,且只有第一次加載時執行)——>派生類靜態代碼塊,派生類靜態成員欄位(并列優先級,按照代碼中出現的先后順序執行,且只有第一次加載時執行)——>基類普通代碼塊,基類普通成員欄位(并列優點級,按代碼中出現先后順序執行)——>基類建構式——>派生類普通代碼塊,派生類普通成員欄位(并列優點級,按代碼中出現先后順序執行)——>派生類建構式

代碼驗證:

class Log {
    public static String initLog(String log) { System.out.println(log);return null; }
}

/**
 *  基類
*/

class Base {
    static { System.out.println("Base Static Block 1"); }

    private static String staticValue = Log.initLog("Base Static Fiels");

    static { System.out.println("Base Static Block 2"); }

    { System.out.println("Base Normal Block 1"); }

    private String value = Log.initLog("Base Normal Field");

    { System.out.println("Base Normal Block 2"); }

    Base() { System.out.println("Base Constructor"); }
}

/**
 *  派生類
 */
public class Derived extends Base {
    static { System.out.println("Static Block 1"); }

    private static String staticValue = Log.initLog("Static Fiels");

    static { System.out.println("Static Block 2"); }

    { System.out.println("Normal Block 1"); }

    private String value = Log.initLog("Normal Field");

    { System.out.println("Normal Block 2"); }

    Derived() { System.out.println("Derived Constructor"); }

/**
 *  主執行緒
 */

public static void main(String[] args) {
    Derived derived = new Derived();
}

控制臺結果輸出:

Base Static Block 1
Base Static Fiels
Base Static Block 2
Static Block 1
Static Fiels
Static Block 2
Base Normal Block 1
Base Normal Field
Base Normal Block 2
Base Constructor
Normal Block 1
Normal Field
Normal Block 2
Derived Constructor

3.對方法區和永久區的理解以及它們之間的關系

方法區是jvm規范里要求的,永久區是Hotspot虛擬機對方法區的具體實作,前者是規范,后者是實作方式,jdk1.8作了改變,本題看看對方在思想層面對jvm的理解程度,很基礎的一個題目,

4.一個java檔案有3個類,編譯后有幾個class檔案?

檔案中有幾個類編譯后就有幾個class檔案,

5.區域變數使用前需要顯式地賦值,否則編譯通過不了,為什么這么設計?

成員變數是可以不經初始化的,在類加載程序的準備階段即可給它賦予默認值,但區域變數使用前需要顯式賦予初始值,javac不是推斷不出不可以這樣做,而是沒有這樣做,對于成員變數而言,其賦值和取值訪問的先后順序具有不確定性,對于成員變數可以在一個方法呼叫前賦值,也可以在方法呼叫后進行,這是運行時發生的,編譯器確定不了,交給jvm去做比較合適,而對于區域變數而言,其賦值和取值訪問順序是確定的,這樣設計是一種約束,盡最大程度減少使用者犯錯的可能(假使區域變數可以使用默認值,可能總會無意間忘記賦值,進而導致不可預期的情況出現),

6.ReadWriteLock讀寫之間互斥嗎

ReadWriteRock 讀寫鎖,使用場景可分為讀/讀、讀/寫、寫/寫,除了讀和讀之間是共享的,其它都是互斥的,接著會討論下怎樣實作互斥鎖和同步鎖的, 想了解對方對AQS,CAS的掌握程度,技術學習的深度,

7.Semaphore拿到執行權的執行緒之間是否互斥

Semaphore拿到執行權的執行緒之間是否互斥,Semaphore、CountDownLatch、CyclicBarrier、Exchanger 為java并發編程的4個輔助類,面試中常問的 CountDownLatch CyclicBarrier之間的區別,面試者肯定是經常碰到的, 所以問起來意義不大,Semaphore問的相對少一些,有些知識點如果沒有使用過還是會忽略,Semaphore可有多把鎖,可允許多個執行緒同時擁有執行權,這些有執行權的執行緒如并發訪問同一物件,會產生執行緒安全問題,

8.寫一個你認為最好的單例模式

寫一個你認為最好的單例模式, 這題面試者都可能遇到過,也算是作業中最常遇到的設計模式之一,想考察面試者對經常碰到的題目的理解深度,單例一共有幾種實作方式:餓漢、懶漢、靜態內部類、列舉、雙檢鎖,要是寫了簡單的懶漢式可能就會問:要是多執行緒情況下怎樣保證執行緒安全呢,面試者可能說雙檢鎖,那么聊聊為什么要兩次校驗,接著會問光是雙檢鎖還會有什么問題,這時候基礎好的面試者就會說了:物件在定義的時候加上volatile關鍵字,接下來會繼續引申討論下原子性和可見性、java記憶體模型、類的加載程序,

其實沒有最好,列舉方式、靜態內部類、雙檢鎖都是可以的,就想聽下對不同的單例寫法認識程度,寫個雙檢鎖的方式吧:

public class Singleton {
    private Singleton() {
    }

    private volatile static Singleton instance;

    public static Singleton getInstance() {
        if (null == instance) {
            synchronized (Singleton.class) {
                if (null == instance) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }

}

9. B樹和B+樹是解決什么樣的問題的,怎樣演化過來,之間區別

B樹和B+樹,這題既問mysql索引的實作原理,也問資料結構基礎,首先從二叉樹說起,因為會產生退化現象,提出了平衡二叉樹,再提出怎樣讓每一層放的節點多一些來減少遍歷高度,引申出m叉樹,m叉搜索樹同樣會有退化現象,引出m叉平衡樹,也就是B樹,這時候每個節點既放了key也放了value,怎樣使每個節點放盡可能多的key值,以減少遍歷高度呢(訪問磁盤次數),可以將每個節點只放key值,將value值放在葉子結點,在葉子結點的value值增加指向相鄰節點指標,這就是優化后的B+樹,

然后談談資料庫索引失效的情況,為什么給離散度低的欄位(如性別)建立索引是不可取的,查詢資料反而更慢,如果將離散度高的欄位和性別建立聯合索引會怎樣,有什么需要注意的?

10. 寫一個生產者消費者模式

生產者消費者模式,synchronized鎖住一個LinkedList,一個生產者,只要佇列不滿,生產后往里放,一個消費者只要佇列不空,向外取,兩者通過wait()和notify()進行協調,寫好了會問怎樣提高效率,最后會聊一聊訊息佇列設計精要思想及其使用,

11. 寫一個死鎖

寫一個死鎖,覺得這個問題真的很不錯,經常說的死鎖四個條件,背都能背上,那寫一個看看,思想為:定義兩個ArrayList,將他們都加上鎖A,B,執行緒1,2,1拿住了鎖A ,請求鎖B,2拿住了鎖B請求鎖A,在等待對方釋放鎖的程序中誰也不讓出已獲得的鎖,

public class DeadLock {
    public static void main(String[] args) {
        final List<Integer> list1 = Arrays.asList(1, 2, 3);
        final List<Integer> list2 = Arrays.asList(4, 5, 6);
        new Thread(new Runnable() {
            @Override
            public void run() {
                synchronized (list1) {
                    for (Integer i : list1) {
                        System.out.println(i);
                    }
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    synchronized (list2) {
                        for (Integer i : list2) {
                            System.out.println(i);
                        }
                    }
                }
            }
        }).start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                synchronized (list2) {
                    for (Integer i : list2) {
                        System.out.println(i);
                    }
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    synchronized (list1) {
                        for (Integer i : list1) {
                            System.out.println(i);
                        }
                    }
                }
            }
        }).start();

    }
}

還有最新的一線大廠面試技巧,需要的朋友可以點擊:點這個,點這個!!,暗號:csdn,

在這里插入圖片描述

12. cpu 100%怎樣定位

cpu 100%怎樣定位,這題是一個應用性題目,網上搜一下即可,比較常見,說實話,把這題放進來有點后悔,

13. String a = “ab”; String b = “a” + “b”; a == b 是否相等,為什么

String a = “ab”; String b = “a” + “b”; a ,b 是相等的(各位要寫代碼驗證一下,我看到有人寫了錯誤答案),常規的問法是new一個物件賦給變數,問:這行運算式創建了幾個物件,但這樣的題目太常見,

14. int a = 1; 是原子性操作嗎

int a = 1; 是原子性操作,

15. 可以用for回圈直接洗掉ArrayList的特定元素嗎?可能會出現什么問題?怎樣解決

for回圈直接洗掉ArrayList中的特定元素是錯的,不同的for回圈會發生不同的錯誤,泛型for會拋出 ConcurrentModificationException,普通的for想要洗掉集合中重復且連續的元素,只能洗掉第一個,

錯誤原因:打開JDK的ArrayList原始碼,看下ArrayList中的remove方法(注意ArrayList中的remove有兩個同名方法,只是入參不同,這里看的是入參為Object的remove方法)是怎么實作的,一般情況下程式的執行路徑會走到else路徑下最終呼叫faseRemove方法,會執行System.arraycopy方法,導致洗掉元素時涉及到陣列元素的移動,針對普通for回圈的錯誤寫法,在遍歷第一個字串b時因為符合洗掉條件,所以將該元素從陣列中洗掉,并且將后一個元素移動(也就是第二個字串b)至當前位置,導致下一次回圈遍歷時后一個字串b并沒有遍歷到,所以無法洗掉,針對這種情況可以倒序洗掉的方式來避免

解決方案:用 Iterator,

 List<String> list = new  ArrayList(Arrays.asList("a", "b",  "b" , "c", "d"));
 Iterator<String> iterator = list.iterator();
       while(iterator.hasNext()) {
           String element = iterator.next();
           if(element.equals("b")) {
               iterator.remove();
           }

將本問題擴展一下,下面的代碼可能會出現什么問題?

ArrayList<String> array = new ArrayList<String>();
array.add(1,"hello world");

16. 新的任務提交到執行緒池,執行緒池是怎樣處理

第一步 :執行緒池判斷核心執行緒池里的執行緒是否都在執行任務,如果不是,則創建一個新的作業執行緒來執行任務,如果核心執行緒池里的執行緒都在執行任務,則執行第二步,

第二步 :執行緒池判斷作業佇列是否已經滿,如果作業佇列沒有滿,則將新提交的任務存盤在這個作業佇列里進行等待,如果作業佇列滿了,則執行第三步,

第三步 :執行緒池判斷執行緒池的執行緒是否都處于作業狀態,如果沒有,則創建一個新的作業執行緒來執行任務,如果已經滿了,則交給飽和策略來處理這個任務,

17. AQS和CAS原理

抽象佇列同步器AQS(AbstractQueuedSychronizer),如果說java.util.concurrent的基礎是CAS的話,那么AQS就是整個Java并發包的核心了,ReentrantLock、CountDownLatch、Semaphore等都用到了它,

AQS實際上以雙向佇列的形式連接所有的Entry,比方說ReentrantLock,所有等待的執行緒都被放在一個Entry中并連成雙向佇列,前面一個執行緒使用ReentrantLock好了,則雙向佇列實際上的第一個Entry開始運行,

AQS定義了對雙向佇列所有的操作,而只開放了tryLock和tryRelease方法給開發者使用,開發者可以根據自己的實作重寫tryLock和tryRelease方法,以實作自己的并發功能,

比較并替換CAS(Compare and Swap),假設有三個運算元:記憶體值V、舊的預期值A、要修改的值B,當且僅當預期值A和記憶體值V相同時,才會將記憶體值修改為B并回傳true,否則什么都不做并回傳false,整個比較并替換的操作是一個原子操作,

CAS一定要volatile變數配合,這樣才能保證每次拿到的變數是主記憶體中最新的相應值,否則舊的預期值A對某條執行緒來說,永遠是一個不會變的值A,只要某次CAS操作失敗,下面永遠都不可能成功,

CAS雖然比較高效的解決了原子操作問題,但仍存在三大問題,

  1. 回圈時間長開銷很大,
  2. 只能保證一個共享變數的原子操作,
  3. ABA問題,

18.synchronized底層實作原理

涉及兩條指令:monitorenter,monitorexit;

再說同步方法,從同步方法反編譯的結果來看,方法的同步并沒有通過指令monitorenter和monitorexit來實作,相對于普通方法,其常量池中多了ACC_SYNCHRONIZED標示符,

JVM就是根據該標示符來實作方法的同步的:當方法被呼叫時,呼叫指令將會檢查方法的 ACC_SYNCHRONIZED 訪問標志是否被設定,如果設定了,執行執行緒將先獲取monitor,獲取成功之后才能執行方法體,方法執行完后再釋放monitor,在方法執行期間,其他任何執行緒都無法再獲得同一個monitor物件,

這個問題會接著追問:java物件頭資訊,偏向鎖,輕量鎖,重量級鎖及其他們相互間轉化,

19. volatile作用,指令重排相關

理解volatile關鍵字的作用的前提是要理解Java記憶體模型,volatile關鍵字的作用主要有兩點:

多執行緒主要圍繞可見性和原子性兩個特性而展開,使用volatile關鍵字修飾的變數,保證了其在多執行緒之間的可見性,即每次讀取到volatile變數,一定是最新的資料,

代碼底層執行不像我們看到的高級語言—-Java程式這么簡單,它的執行是Java代碼–>位元組碼–>根據位元組碼執行對應的C/C++代碼–>C/C++代碼被編譯成匯編語言–>和硬體電路互動,現實中,為了獲取更好的性能JVM可能會對指令進行重排序,多執行緒下可能會出現一些意想不到的問題,使用volatile則會對禁止語意重排序,當然這也一定程度上降低了代碼執行效率

從實踐角度而言,volatile的一個重要作用就是和CAS結合,保證了原子性,詳細的可以參見java.util.concurrent.atomic包下的類,比如AtomicInteger,

20. AOP和IOC原理

AOP 和 IOC是Spring精華部分,AOP可以看做是對OOP的補充,對代碼進行橫向的擴展,通過代理模式實作,代理模式有靜態代理,動態代理,Spring利用的是動態代理,在程式運行程序中將增強代碼織入原代碼中,

IOC是控制反轉,將物件的控制權交給Spring框架,用戶需要使用物件無需創建,直接使用即可,AOP和IOC最可貴的是它們的思想,

21. Spring怎樣解決回圈依賴的問題

什么是回圈依賴,怎樣檢測出回圈依賴,Spring回圈依賴有幾種方式,使用基于setter屬性的回圈依賴為什么不會出現問題,接下來會問:Bean的生命周期,

22. dispatchServlet怎樣分發任務的

上一張圖,從這張圖去理解
在這里插入圖片描述

具體流程:

1). 用戶發請求–>DispatcherServlet,前端控制器收到請求后自己不進行處理,而是委托給其他的決議器進行處理,作為統一訪問點,進行全域的流程控制,

2).DispatcherServlet–>HandlerMapping,HandlerMapping將會把請求映射為HandlerExecutionChain物件(包含一個Handler處理器,多個HandlerInterceptor攔截器),

3).DispatcherServlet–>HandlerAdapter,HandlerAdapter將會把處理器包裝為配接器,從而支持多種型別的處理器,

4).HandlerAdapter–>處理器功能處理方法的呼叫,HandlerAdapter將會根據適配的結果呼叫真正的處理器的功能處理方法,完成功能處理,并回傳一個ModelAndView物件(包含模型資料,邏輯視圖名)

5).ModelAndView的邏輯視圖名–>ViewResolver,ViewResoler將把邏輯視圖名決議為具體的View,

6).View–>渲染,View會根據傳進來的Model模型資料進行渲染,此處的Model實際是一個Map資料結構

7).回傳控制權給DispatcherServlet,由DispatcherServlet回傳回應給用戶,

23. mysql給離散度低的欄位建立索引會出現什么問題,具體說下原因

先上結論:重復性較強的欄位,不適合添加索引,mysql給離散度低的欄位,比如性別設定索引,再以性別作為條件進行查詢反而會更慢,

一個表可能會涉及兩個資料結構(檔案),一個是表本身,存放表中的資料,另一個是索引,

索引是什么?

它就是把一個或幾個欄位(組合索引)按規律排列起來,再附上該欄位所在行資料的物理地址(位于表中),比如我們有個欄位是年齡,如果要選取某個年齡段的所有行,那么一般情況下可能需要進行一次全表掃描,但如果以這個年齡段建個索引,那么索引中會按年齡值根據特定資料結構建一個排列,這樣在索引中就能迅速定位,不需要進行全表掃描,

為什么性別不適合建索引呢?

因為訪問索引需要付出額外的IO開銷,從索引中拿到的只是地址,要想真正訪問到資料還是要對表進行一次IO,假如你要從表的100萬行資料中取幾個資料,那么利用索引迅速定位,訪問索引的這IO開銷就非常值了,但如果是從100萬行資料中取50萬行資料,就比如性別欄位,那你相對需要訪問50萬次索引,再訪問50萬次表,加起來的開銷并不會比直接對表進行一次完整掃描小,

當然如果把性別欄位設為表的聚集索引,那么就肯定能加快大約一半該欄位的查詢速度了,聚集索引指的是表本身資料按哪個欄位的值來進行排序,因此,聚集索引只能有一個,而且使用聚集索引不會付出額外IO開銷,當然你得能舍得把聚集索引這么寶貴資源用到性別欄位上,

可以根據業務場景需要,將性別和其它欄位建立聯合索引,比如時間戳,但是建立索引記得把時間戳欄位放在性別前面,

后加

  • jvm gc 復制演算法是怎樣實作的
  • 注解的原理
  • 行程間通信的方式有哪些
  • ReentrantLock 是可重入鎖,什么是可重入鎖
  • 執行緒執行程序中遇到例外會發生什么,怎樣處理
  • HashMap
    put()元素產生沖突,為什么用LinkedList(拉鏈法)而不用ArrayList解決,產生沖突時key值不等,新元素怎樣加入鏈表,為什么這么設計(jdk1.8之前)
  • 雙檢鎖寫一個單例模式,為什么要用volatile修飾物件,Object object = new Object();
    object為null嗎?為什么
  • Object object = new Object(); 初始化的順序是什么在jvm各區域做了什么
  • 執行緒怎樣按順序執行
  • true or false ?
ArrayList<Integer> list1 = new ArrayList<>(); 
ArrayList<String> list2 = new ArrayList<>();  
System.out.print(list1.getClass() == list2.getClass); 
  • 修飾類的鎖和修飾方法的鎖的區別
  • 下面代碼中的method()方法會互斥訪問嗎,為什么
class A {
    public synchronized void method() {/**/}
}

new Thread(() -> { A a = new A();a.method(); }).start();
 new Thread(() -> { A b = new A();b.method(); }).start();
  • synchronized在1.7以后的版本作了什么優化提升效率
  • CAS底層是怎樣實作原子性的
  • java執行緒池實作的原理
  • 演算法題:各大排序演算法(尤其是快排和堆排序),查找(二分),樹的遍歷,DFS和BFS…

后加的16個題目只能說是常規題型,網上解答都有,在此不寫答案了,

最后

提供免費的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 原始碼分析,高并發、高性能、分布式,性能優化,微服務 高級架構開發等等,

需要的朋友可以點擊:點這個!點這個!,暗號:csdn,

還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring原始碼合集+Java架構實戰電子書+2020年最新大廠面試題,
在這里插入圖片描述

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

標籤:AI

上一篇:來自【阿里內部】并發編程學習筆記解密分享

下一篇:Django創建專案,setting的配置講解,mysql資料庫的配置, 資料庫的遷移操作。

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