首頁 運維雜談去華為面試的??粕?,現在怎么樣了?

去華為面試的??粕?,現在怎么樣了?

運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

昨天下班前,一個老同學給我發微信,說自己去華為面試了,現在結果已出,問我的建議。
我都懵了,從來沒想過??粕梢赃M大廠面試。他說從來沒介意自己學歷,找工作的時候他也發現,招聘方很多對學歷要求并沒有卡得很牢,他們更看重掌握的技術還有持續學習并去行動的能力。

去華為面試的??粕?,現在怎么樣了?插圖

老同學告訴我,面試過程,先是機試,卡點交卷,題不是太難,只是平時不做題,有些生疏。然后是性格測試。他提前在網上已經大概看了一遍需要避坑的地方,把自己打造一個性格正常的人就行。接著有人給他打電話,具體介紹工作情況,問他是否理解等等。然后有視頻會議,和他聊了聊,談薪也在這塊。之后還經歷了獨立面試,面試官問到項目經歷,需要講一講具體流程。這個要看面試官是否有經驗了,普通人問的不深,比較有經驗的可能會問的多一些。
最后提到崗位簽的是華為惠通,但工作對接和職級晉升都是華為的。老同學告訴我,高級員工在華為,低級員工在華為外包,也就是惠通。

去華為面試的??粕?,現在怎么樣了?插圖1

這個我也查過,華為對外包類(含od、odc、慧通、中軟、軟通…)有統一的定價:一萬上下,會做背調,個人薪資上調不得超過20%,即使本來就超過一萬多的人,進來華為也只會給一萬左右的收入(技術崗會高一點點)。
可以說, 慧通算是外包也不是外包,是全資外包而已,干的還是外包的事:不那么重要的人去做一些技術難度低的流水線一般的事。外華為是分級的14級以下大部分都是外包。如果有水平就不要去外包,如果水平一般的話,那就不要介意外包,畢竟大廠的外包確實比一些公司的薪資福利香的多。暫時先去外包干著,有合適的機會再跳槽。


提到華為,不得不分享一下它的這道高頻面試題。


題目:關于CAS(樂觀鎖)的原理解析


CAS就是是JDK提供的非阻塞原子性操作,通過硬件保證了比較-更新操作的原子性。它的主要原理如下:
CAS有三個操作數
內存值v
舊的預期值A要修改的新值B
當多個線程嘗試使用CAS同時更新一個變量的時候,只有一個能夠更新成功。那就是當我們的內存值V和舊的預期值A相等的情況下,才能將內存值V修改成B!然后失敗的線程不會掛起,而是被告知失敗,可以繼續嘗試(自旋)或者什么都不做!
嘗試重試
我們可以假設有兩個線程,一個線程1,一個線程2,同時對我們的內存值進行自增!我們的內存值剛開始是0,舊的預期值也是0。
這個時候線程1進來了,由于我們的內存值和舊的預期值相等,所以更新我們的內存值為要修改的新值1
當線程1結束之后,線程2進來了,要對我們的內存值進行修改。但是發現我們的內存A(此時為1)和我們的舊的預期值不相等(此時為0)不相等,所以不能將內存值更新為我們的預期值(預期值為2),所以只能進行將舊的預期值更新為內存值(此時舊的預期值 == 內存值),并告知下一次再試試!
當我們的線程2重試更新內存值,此時內存值(此時為1)與我們的舊的預期值(此時為1)相等,所以可以將我們的內存值更新為我們的預期值(此時為2)。
所以,哪怕沒有加鎖,我們也能實現線程安全。


什么都不做
同樣的,我們舉例有兩個線程,一個線程1,一個線程2;我們兩個線程都要對內存進行更新為10。
我們假設線程1先進來,此時內存值與我們的舊的預期值都為0,所以可以更新,將我們要修改的新值10賦值給了內存值,完成了更新
當線程1完成之后,線程2進來要對我們的內存值進行修改為10,但是發現內存值與舊的預期值不相同(此時一個為10,一個為0),所以只能將舊的預期值更新為內存值,同時被告知了下次不用重試了。(因為我們的目的是將內存值更新為10,顯然我們的目的已經完成了)
原子變量類簡單分析
我們在開頭也提到了,在我們JUC下的原子變量類也是使用CAS來保證操作的原子性。而我們的具體原子變量類有以下這些:

去華為面試的??粕?,現在怎么樣了?插圖2
去華為面試的??粕?,現在怎么樣了?插圖3

image-20240304231412552我們以AtomicInteger為例,找一個其中自增的方法分析一下:


//var1 是this指針
//var2 是地址偏移量
//var4 是自增的數值,是自增1還是自增N   
public final int getAndAddInt(Object var1, long var2, int var4) {
        int var5;
        do {
            //獲取我們的的期望值賦值給var5
            var5 = this.getIntVolatile(var1, var2);
            //調用了Unsafe下面的另一個方法,是一個native方法
            //如果期望值var5與內存值var2相等的話,更新內存值為var5+var4,否則更新期望值為期望值為內存值
        } while(!this.compareAndSwapInt(var1, var2, var5, var5 + var4));

        return var5;
    }

compareAndSwapInt方法是我們的調用native方法

compareAndSwapInt方法是我們的調用native方法

// 第一和第二個參數代表對象的實例以及地址,第三個參數代表期望值,第四個參數代表更新值
public final native boolean compareAndSwapObject(Object var1, long var2, Object var4, Object var5);

public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);

public final native boolean compareAndSwapLong(Object var1, long var2, long var4, long var6);

它是由我們的底層c代碼調用匯編使用的,最后生成出一條CPU指令cmpxchg,完成操作。這也就為啥CAS是原子性的,因為它是一條CPU指令,不會被打斷。這個指令在我們早期的硬件廠商就在芯片大量使用了,比如intel。


插播福利:
這里也給小伙伴們發一份福利,精心準備的【大廠面試題20多個技術點!】涉及
Linux、redis、k8s、Docker、golang、Jenkins、prometheus、DevOps、MongoDB、shell、dubbo、nginx、Kafka、ansible、消息隊列、網絡安全……一次打包全部帶走。保證你在跳槽和匯報工作的時候如魚得水。

去華為面試的??粕?,現在怎么樣了?插圖4
去華為面試的??粕?,現在怎么樣了?插圖5

免費領取預計24小時后關閉!速進!

去華為面試的??粕?,現在怎么樣了?插圖6

Docker面試題:

1、什么是Docker?

2、什么是Docker鏡像?

3、什么是Docker容器?

4、Docker容器有幾種狀態?

5、DockerFile中最常見的指定是什么?

6、DockerFile中的命令COPY和ADD命令有什么區別?

7、Docker的常用命令?

8、容器與主機之間的數據拷貝命令?

9、啟動nginx容器(隨機端口映射),并掛載本地文件目錄到容器html的命令?

10、解釋-下dockerfile的ONBUILD指令?

11、什么是docker Swarm?

12、如何在生產中監控docker?

13、Docker如何在非Linux系統中運行容器?

14、如何批量清理臨時鏡像文件?

15、如何查看鏡像支持的環境變量?

16、本地的鏡像文件都存放在哪里?

17、構建docker鏡像應該遵循哪些原則?

18、容器退出后,通過docker ps命令查看不到,數據會丟失么?

19、如何停止所有正在運行的容器?

20、如何清理批量后臺停止容器?

21、如何臨時退出一個正在交互的容器的終端,而不終止它?

22、很多應用容器都是默認后臺運行的,怎么查看他們的輸出和日志信息?

23、使用docker port命令映射容器的端口時,系統報錯Error:No public port ’80’published for …,是什么意思?

24、可以在一個容器中同時運行多個應用進程嗎?

25、如何控制容器占用系統資源(CPU,內存)的份額?

26、倉庫(Repository)、注冊服務器(Registry)、注冊 索引(Index)有何關系?

27、Docker的配置文件放在那里。如何修改配置?

28、如何更改docker的默認存儲設置?

29、Docker于Vagrant有何不同?

30、docker與LXC(Linux Container)有何不同?

……

Nginx面試題

1、請解釋—下什么是Nginx?

2、請列舉Nginx的一些特性。

3、請列舉Nginx和Apache 之間的不同點。

4、請解釋Nginx如何處理HTTP請求。

5、在Nginx中,如何使用未定義的服務器名稱來阻止處理請求?

6、使用”反向代理服務器”的優點是什么?

7、請列舉Nginx服務器的最佳用途。

8、請解釋Ngjinx服務器上的Master和Worker進程分別是什么?

9、請解釋你如何通過不同于80的端口開啟Nginx?

10、請解釋是否有可能將Nginx的錯誤替換為502錯誤、5 03

11、在Nginx中,解釋如何在URL中保留雙斜線

12、請解釋ngx_http_upstream_module的作用是什么

13、請解釋什么是C10K問題

14、請陳述stub status和sub filter指令的作用是什么

15、解釋Nginx是否支持將請求壓縮到上游

16、解釋如何在Nginx中獲得當前的時間

17、用Nginx服務器解釋-s的目的是什么

18、解釋如何在Nqinx服務器上添加模塊

19、為什么要用Nginx?

20、為什么Nginx性能這么高?

21、Nginx怎么處理請求的?

22、什么是正向代理和反向代理?

23、使用”反向代理服務器的優點是什么?

24、Nginx的優缺點?

25、Nginx應用場景?

26、Nginx目錄結構有哪些?

27、Nginx配置文件nginx.conf有哪些屬性模塊?

28、Nginx靜態資源?

29、如何用Nginx解決前端跨域問題?

30、Nginx虛擬主機怎么配置?

……

ansible面試題

  1. 簡述Ansible及其優勢?
  2. 簡述Ansible工作機制及其特性?
  3. 簡述Ansible中如何保存敏感數據?
  4. 簡述Ansible適合的場景?
  5. 簡述Ansible Inventory?
  6. 簡述Ansible配置文件優先級?
  7. 簡述Ansible ad-hoc命令?
  8. 簡述Ansible ad-hoc和playbook的區別?
  9. 簡述Ansible變量?
  10. 簡述Ansible如何實現任務的循環?
  11. 簡述Ansible hanlder?
  12. 簡述Ansible Block?
  13. 簡述Ansible如何處理play錯誤的?
  14. 簡述Ansible角色?
  15. 簡述Ansible Galaxy?
  16. 簡述Ansible如何控制任務的并行執行?

……

shell腳本面試題

Q:1 Shel腳本是什么、它是必需的嗎?

Q:2 什么是默認登錄shell,如何改變指定用戶的登錄shell

Q:3 可以在shell腳本中使用哪些類型的變量?

Q:4 如何將標準輸出和錯誤輸出同時重定向到同一位置?

Q:5 shell腳本中“if”語法如何嵌套?

Q:6 shell腳本中“$?”標記的用途是什么?

Q:7 在shell腳本中如何比較兩個數字?

Q:8 shell腳本中break命令的作用?

Q:9 shell腳本中continue命令的作用?

Q:10 告訴我shell腳本中Case語句的語法 ?

Q:11 shell腳本中while循環語法 ?

Q:12 如何使腳本可執行 ?

Q:13“#!/bin/bash”的作用?

Q:14 shell腳本中for循環語法 ?

Q:15 如何調試shel腳本 ?

Q:16 shell腳本如何比較字符串

Q:17 Bourne shell(bash) 中有哪些特殊的變量 ?

Q:18 在shell腳本中,如何測試文件?

Q:19 在shell腳本中,如何寫入注釋 ?

Q:20 如何讓 shel 就腳本得到來自終端的輸入?

Q:21 如何取消變量或取消變量賦值 ?

Q:22 如何執行算術運算 ?

Q:23 do-while語句的基本格式 ?

Q:24 在shel腳本如何定義函數呢 ?

Q:25 獲取隨機字符串或數字

Q:26 定義一個顏色輸出字符串函數

Q:27 批量創建用戶

Q:28 檢查軟件包是否安裝

Q:29 檢查服務狀態

Q:30 檢查主機存活狀態

……

jenkins面試題

1.jenkins是什么

2.為什么使用jenkins

3.CI/CD是什么

4.集中常見的CI工具

5.什么是Jenkins pipeline

6.為什么在jenkins中使用管道

7.什么是jenkinsfile?為什么使用jenkinsfile8.什么是Blue Ocean

9.如何在jenkins中備份和復制文件

10.jenkins的優勢是什么

11.Jenkins主要整合了兩個組成部分?

12.Jenkins中一些由用的插件

13、jenkins你都用了哪些插件?

14、jenkins怎么備份恢復

15、Maven是什么?Jenkins是什么?

16、Hudson 和 Jenkins 有什么區別?

17、在Jenkins中持續集成是什么?

18、為什么將Jenkins與Selenium一起使用?

19、CICD管道是什么?

20、在Jenkins中構建管道是什么?

21、Jenkins Pipeline是什么?

22、DSLJenkins是什么?

23、持續集成和部署是什么?

24、用于配置和配置的工具是什么?

25、Maven,Ant和Jenkins有什么區別?

26、Jenkins支持哪些SCM工具?

27、如何在Jenkins中計劃構建?

28、為什么在Jenkins中使用管道?

29、Jenkinsfile是什么?

30、如何在Jenkins中創建多分支管道?

……

由于篇幅限制不再一一進行展示

免費領取預計24小時后關閉!速進!

去華為面試的??粕?,現在怎么樣了?插圖7

根據提示 免費前

時效有限,前100名免費領取

本文鏈接:http://www.royaladd.com/44840.html

網友評論comments

發表回復

您的電子郵箱地址不會被公開。

暫無評論

Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
掃二維碼
掃二維碼
返回頂部
欧美激情视频一区二区|国产精品毛片va一区二区|999国内精品永久免费|国产无码sm视频在线观看