欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

記錄2025的面著玩

1.8 蟲下

1.java里面如何判斷比如一個hashmap它的鍵是一樣的,比如鍵是一個對象的時候

是否相同依賴于該對象的equals() 方法和hashCode() 方法的實現(xiàn)

2.ssl是在tcp之前還是之后?哪里用到對稱加密和非對稱加密,哪個更安全?如何判斷公鑰是安全的

三次握手會在 SSL/TLS 握手之前完成,SSL/TLS 加密處理后,生成的加密數(shù)據(jù)通過 TCP/IP 傳輸。

3.synchronized底層是通過什么實現(xiàn)的?synchronized可以作用于哪些地方

它的底層實現(xiàn)依賴于 JVM(Java 虛擬機)和對象監(jiān)視器(Monitor)。具體實現(xiàn)如下:

(1) 基于 Monitor 對象

synchronized實現(xiàn)依賴于 JVM 中的對象監(jiān)視器(Monitor)。在字節(jié)碼層面,synchronized 被編譯成兩條主要的字節(jié)碼指令:

monitorenter:線程進入同步塊時調(diào)用,嘗試獲取監(jiān)視器鎖。

monitorexit:線程退出同步塊時調(diào)用,釋放監(jiān)視器鎖。

(2) 內(nèi)置鎖

每個對象在 Java 中都關(guān)聯(lián)一個對象頭,其中包括一個鎖標志位和指向 Monitor 的引用。它支持以下幾種鎖狀態(tài):

無鎖(Unlocked):默認狀態(tài),沒有線程持有鎖。

偏向鎖(Biased Locking):

為了減少鎖的開銷,如果一個線程獨占訪問一個同步塊,JVM 會將鎖偏向這個線程。

輕量級鎖(Lightweight Locking):

適用于多個線程競爭,但沒有真正發(fā)生阻塞的情況。

通過 CAS操作來嘗試獲取鎖。

重量級鎖(Heavyweight Locking):

如果多個線程同時競爭,發(fā)生阻塞時,鎖會升級為重量級鎖。

線程會掛起并進入操作系統(tǒng)的阻塞隊列。

(3) 操作系統(tǒng)級別的實現(xiàn)

在重量級鎖狀態(tài)下,底層通過 操作系統(tǒng)的互斥量(Mutex)或線程調(diào)度機制 來實現(xiàn)線程的同步和阻塞。

4.java hashmap底層是紅黑樹還是散列表?擴容的時候是需要重新計算所有鍵值嗎

底層數(shù)據(jù)結(jié)構(gòu):HashMap 的核心是基于 散列表,鏈表和紅黑樹用于優(yōu)化哈希沖突。鏈表在鏈過長時會轉(zhuǎn)換為紅黑樹。

擴容行為:擴容時會 重新計算鍵值對的位置,這是因為哈希的目標桶數(shù)量發(fā)生了變化。經(jīng)過 Java 8 的優(yōu)化,位置重新計算時不需要完全重新哈希,而是基于原有的哈希值對索引簡單調(diào)整。

5.反轉(zhuǎn)字符串中的單詞

tx圖形學課題

1.uras原理

2.asan是如何檢測內(nèi)存泄露的

3.urp和hdrp 區(qū)別

1.14百度

不同數(shù)據(jù)庫怎么遷移,怎么保證數(shù)據(jù)庫高可用?

大模型應用怎么搭建

2.14 二面掛

神人部門,前面人鴿了又撈

2.27 aliyun

1.什么時候用map什么時候用unordered_map?map的復雜度n指什么?

有序數(shù)據(jù)、范圍查詢 → 用 std::map

大數(shù)據(jù)量、頻繁查找 → 用 std::unordered_map

n 指的是 map 中存儲的元素數(shù)量

2.手寫B(tài)樹B+樹

struct BTreeNode {
    int leaf; // 是否是葉子節(jié)點
    int n;    // 當前關(guān)鍵字數(shù)量
    int keys[ORDER - 1]; // 關(guān)鍵字數(shù)組
    struct BTreeNode* child[ORDER]; // 子節(jié)點數(shù)組
};

3.索引下推和謂詞下推

索引下推針對單表模糊查詢

4.分片有哪些策略范圍分片,哈希分片,列表分片,復合分片

5.多線程輪流打印數(shù)字

https://blog.csdn.net/qq_51274317/article/details/132621731

https://blog.csdn.net/chuxinchangcun/article/details/130378838

6.多個線程獲取某線程的shared_ptr的引用,計數(shù)會增加嗎?peterson多線程算法是啥

多個線程獲取某個線程的 shared_ptr 引用時,引用計數(shù)會增加。這是因為 shared_ptr 的引用計數(shù)機制是線程安全的,旨在支持多線程環(huán)境下的共享所有權(quán)管理。

7.力扣,最大數(shù)

3.6 wx客戶端

1.inline的優(yōu)點和缺點

2.c++里malloc再delete,new再free分別會有什么問題

3.如何讓進程一個函數(shù)只執(zhí)行一次

static,鎖

4.有問題嗎

int i=1;
class A{
A(){
i++;
}
~A()
{
i--;
}

int main()
{
mutex.lock();
class A;
mutex.unlock();
}

5.napi

6.兩個升序單向鏈表合并降序返回

這里有兩種方法可以實現(xiàn)將兩個升序的單向鏈表合并成降序的單向鏈表:

  1. 直接合并后反轉(zhuǎn)(先合并成升序,然后反轉(zhuǎn)鏈表)
  2. 頭插法構(gòu)造降序鏈表(遍歷兩個鏈表,較大的節(jié)點優(yōu)先插入新鏈表頭部)

下面是頭插法的實現(xiàn),避免了額外的反轉(zhuǎn)操作,時間復雜度為 (O(n + m)):

代碼實現(xiàn):

#include <iostream>

struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x) : val(x), next(nullptr) {}
};

// 合并兩個升序單鏈表并返回降序鏈表
ListNode* mergeAndReverse(ListNode* l1, ListNode* l2) {
    ListNode* newHead = nullptr;  // 結(jié)果鏈表的頭節(jié)點

    while (l1 && l2) {
        ListNode* temp;
        if (l1->val < l2->val) {
            temp = l1;
            l1 = l1->next;
        } else {
            temp = l2;
            l2 = l2->next;
        }
        temp->next = newHead;  // 頭插法
        newHead = temp;
    }

    // 處理剩余的節(jié)點
    while (l1) {
        ListNode* temp = l1;
        l1 = l1->next;
        temp->next = newHead;
        newHead = temp;
    }
    while (l2) {
        ListNode* temp = l2;
        l2 = l2->next;
        temp->next = newHead;
        newHead = temp;
    }

    return newHead;
}

復雜度分析:

  • 時間復雜度:(O(n + m)),遍歷兩個鏈表合并。
  • 空間復雜度:(O(1)),原地修改鏈表,無額外空間開銷。

這種方法比合并后反轉(zhuǎn)更高效,因為避免了額外的鏈表反轉(zhuǎn)操作。

美團

3.19 最長無重復字符子串

3.25 洗牌,每個位置不重復

4.10 刪除鏈表倒數(shù)n個節(jié)點

抽象類,普通類和接口區(qū)別

4.14 最長有效括號長度

4.21 mihoyo

1.dynamic cast失敗會發(fā)送什么

dynamic_cast<指針>返回 nullptr,不拋出異常

dynamic_cast<引用>會拋出異常std::bad_cast

5.6 tet

1.concurrentHashMap底層實現(xiàn)

分段鎖,cas

2.aop底層原理

代理和反射

3.maven快照庫和重視庫?

4.golang協(xié)程

5.redis一般的ops?

全部評論
佬你現(xiàn)在找到了沒
點贊 回復 分享
發(fā)布于 03-07 20:39 湖北

相關(guān)推薦

程序員鼓勵師阿歡:哈哈哈哈哈笑死我了??
點贊 評論 收藏
分享
評論
6
11
分享

創(chuàng)作者周榜

更多
牛客網(wǎng)
??推髽I(yè)服務