國企&銀行面試經驗

Bulldozer Coder發表於2020-12-16

中國人壽研發中心

一面3個面試管,自我介紹、問題:對安全的理解,想做什麼方向
一面後技術筆試,3個程式設計題如下

1.筆試題目 三道題
1.根據身高重建佇列

輸出是符合題目的要求即->【陣列的第一個數字是這個人的身高,第二個數字是排在這個人前面】這個要求。

比如[[7, 0], [6, 1], [7, 1]]

[7, 0] 前面沒有比7大的,所以是0

[6, 1] 前面有一個身高7的,所以是1[7, 1] 前面有一個身高7的,所以是1個 即全都符合要求

重新排序,矮的放後面,因為矮的即使放在了高的前面,也不會對之前高的產生影響。但高的放在前面,對矮的結果就會產生影響了。

身高相同,個數小的在前面,因為相同的身高,後面的個數肯定要大。

陣列的第一個數字是這個人的身高,第二個數字是排在這個人前面,身高大於或者等於這個人身高的人數

身高相同,按照個數升序排序;身高不同,按照身高降序排列

排序後:

[ 7, 0 ], [ 7, 1 ], [ 6, 1 ], [ 5, 0 ], [ 5, 2 ], [ 4, 4 ]

第二個數字作為索引位置,把陣列放在目標索引位置上。如果原來有數了,會被往後擠

[[7, 0]]

[[7, 0], [7, 1]]

[[7, 0], [6, 1], [7, 1]]

[[5, 0], [7, 0], [6, 1], [7, 1]]

[[5, 0], [7, 0], [5, 2], [6, 1], [7, 1]]

[[5, 0], [7, 0], [5, 2], [6, 1], [4, 4], [7, 1]]
public class Solution {
    public static int[][] reconstructQueue(int[][] people) {
        // 身高相同,按照個數升序排序;身高不同,按照身高降序排列(x 在 y 前面,x - y > 0 則交換位置。Arrays.sort預設升序
        Arrays.sort(people, (int[] a, int[] b) -> (a[0] == b[0] ? a[1] - b[1] : b[0] - a[0]));
        List<int[]> res = new ArrayList<>();
        for (int[] i : people) {
            res.add(i[1], i); // 把陣列放在目標索引位置上,原來有數了,會被往後擠
            // System.out.println(Arrays.deepToString(res.toArray()));
        }
        return res.toArray(new int[0][2]); // 容器轉成陣列
    }

    public static void main(String[] args){
        reconstructQueue(new int[][]{{7,0}, {4,4}, {7,1}, {5,0}, {6,1}, {5,2}});
    }
}
class Solution(object):
    def reconstructQueue(self, people):
        """
        :type people: List[List[int]]
        :rtype: List[List[int]]
        """
        people.sort(key =lambda x:(-x[0],x[1]))
        res =[]
        for p in people:
            res.insert(p[1],p)
        return res
2.編輯距離



3.朋友圈
DFS
public class Solution {
    public void dfs(int[][] M, int[] visited, int i) {
        for (int j = 0; j < M.length; j++) {
            if (M[i][j] == 1 && visited[j] == 0) {
                visited[j] = 1;
                dfs(M, visited, j);
            }
        }
    }
    public int findCircleNum(int[][] M) {
        int[] visited = new int[M.length];
        int count = 0;
        for (int i = 0; i < M.length; i++) {
            if (visited[i] == 0) {
                dfs(M, visited, i);
                count++;
            }
        }
        return count;
    }
}

並查集
判斷是否有相同的根節點

public class Solution {
    int find(int parent[], int i) { //找根結點
        if (parent[i] == -1)
            return i;
        return find(parent, parent[i]);
    }

    void union(int parent[], int x, int y) { //合併
        int xset = find(parent, x);
        int yset = find(parent, y);
        if (xset != yset)
            parent[xset] = yset;
    }
    public int findCircleNum(int[][] M) {
        int[] parent = new int[M.length];
        Arrays.fill(parent, -1);
        for (int i = 0; i < M.length; i++) {
            for (int j = 0; j < M.length; j++) {
                if (M[i][j] == 1 && i != j) {
                    union(parent, i, j);
                }
            }
        }
        int count = 0;
        for (int i = 0; i < parent.length; i++) {
            if (parent[i] == -1)
                count++;
        }
        return count;
    }
}

3.實習專案和用的框架

內網安全管理平臺開發,django 

4.為啥想加入人壽

國企、work life balance 、有研發工作,能解決一些問題 、宣講感覺不錯

5.為什麼選軟體測試?覺得自己開發水平怎麼樣

崗位我的興趣是想做安全和開發相關的。看到沒專門的安全崗位,測試有安全測試就投遞了。另外宣講會說之後會統一調崗就報名了。

6.對人壽研發中心的瞭解

之前宣講會的瞭解,加上自己在關注金融行業,疫情對人壽的衝擊比較大,看了公司的年報,比如銀行和券商的人壽的線下業務是最多的,我個人想法人壽能多一些線上的發展。

7.專案中的資料庫問題

model 類  MYSQL資料庫 setting 設定

8.自動化測試有哪些,用例如何考慮
等價類 邊界值

1.1什麼是自動化測試
自動化測試簡單來說就是用機器代替手工的方式來參與軟體測試的活動,自動化測試是軟體活動中的一個重要分支和組成部分,隨著軟體產業的不斷髮展,市場對軟體週期的要求越來越高,於是催生各種開發模式,如大家熟知的敏捷開發,從而對測試提出了更高的要求。此時,產生了自動化測試,即利用工具或者指令碼來達到軟體測試的目的,沒有人工或極少人工參與的軟體活動稱為自動化測試。自動化測試的優勢如下:

更方便對系統進行迴歸測試,當軟體的版本釋出比較頻繁時,自動化測試的效率更加明顯
可以自動處理原本繁瑣,重複的任務,提高測試的準確性和測試人員的積極性
自動化測試具有複用性和一致性,即測試指令碼可以在不同的版本上重複執行,且可以保障猜測內容的一致性
 

1.2自動化測試的分類

從軟體開發週期或者分層的角度來分類:

單元自動化測試
單元自動化測試是指自動化地完成對程式碼中的類或方法進行測試,主要關注程式碼的實現細節以及業務邏輯等方面。
介面自動化測試
介面自動化測試用於測試系統元件件介面的請求與返回。介面測試穩定性高,更適合開展自動化測試。
UI動化測試
用自動化技術對圖形介面進行流程和功能方面驗證的過程。

從測試目的角度分類:
功能自動化測試
功能自動化測試主要檢查實際功能是否符合使用者的需求,主要以迴歸測試為主,涉及圖形介面,資料庫連線,以及其他比較穩定而不經常傳送變化的元素

效能自動化測試
效能自動化測試是託管自動化平臺的執行效能測試,收集測試結果,並能分析測試結果的一種可以接近無人值守的效能測試。效能自動化測試有以下特性:

對指令碼建立和優化提供類庫和其他模組支撐
可以設定自動化任務
自動收集測試結果並儲存
事中監控
成熟的平臺可以進行自動分析功能
安全自動化測試
1.3測試分類
按開發階段分類:
單元測試
又稱模組測試,針對軟體設計最小單位-程式模組,進行正確性檢查的測試工作。
整合測試
又叫組裝測試,通常在單元測試的基礎上,將所有程式模組進行有序的遞增的測試。
系統測試
指的是將整個軟體系統看為一個整體進行測試,包括對效能,功能,以及軟體所執行的軟硬體環境進行測試。
按是否執行分類
靜態測試
指不實際執行被測試軟體,而只是靜態的檢查程式碼,介面或文件中可能存在的錯誤過程
動態測試
指實際執行被測試程式,輸入相應的測試資料,檢查實際輸出結果和預期結果是否相符的過程
驗收測試
Alpha測試是內測版本,即現在所說的CB,從版本表示該軟體是一個初步完成品,通常只是在軟體開發者內部交流,也有很少一部分發布給專業測試人員,一般而言,該版本軟體的bug較多,普通使用者最後不要安裝。
Beta是公測版本,是對所有使用者開房的測試版本,該版本相對Alpha版本已經有了而很大改進。
Gamma版本測試,指的是軟體版本正式發行的迭代版,該版本已經相當成熟的,與即將發行的正式版本相差無幾,成為正式版本釋出的候選版本

9.職業規劃
網際網路:

1.如果通過面試,我會在我最初始的兩年中,踏實的做好自己的本職工作,熟練掌握工作中需要掌握的工具,對於公司給安排的任務,能夠在及時地完成,因為公司招聘我們是幫公司幹活完成任務,所以這些是首先要去完成的。

2.在工作中,會向高手請教,研究些新技術,提高自己的技術水平。

3.當前面這些完成,我已經是可以成為一位獨擋一面的技術工程師了,這個時候,我想去能夠熟悉公司使用的這套框架,搞懂底層原理,通過去看書/逛遊戲的開源社群去搞懂這些底層原理,確保如果以後出現比較難解決的問題,能夠快速的定位問題,解決問題。

4.在接下來的幾年中,想努力成為一名架構師了,“不想當架構師的程式設計師不是好程式設計師。”,自己在以後也會朝著這個方向去努力。

國企:

1. 如果通過面試,剛入職的1-2年,踏實幹好本質工作和任務,向周圍的優秀的同事學習,研究新技術,提高自己的技術水平,不斷學習成長為一個可以領域的專業。
    2.除此之外,在技術方面學有餘力的同時,鍛鍊一下自己的與人溝通交流的能力,適當培養自己的管理能力。
   3.自己的終極目標是成為有一定管理能力的技術大牛。

10.有什麼想問的

  1.調崗位
  2.部門是雙向選擇嗎

11.安全測試

1.自動化程式碼審計工具
2.自動化測試工具
3.安全缺陷

一、軟體安全性測試基本概念

  軟體安全性測試包括程式、網路、資料庫安全性測試。根據系統安全指標不同測試策略也不同。

  1.使用者程式安全的測試要考慮問題包括:

  ① 明確區分系統中不同使用者許可權;

  ② 系統中會不會出現使用者衝突;

  ③ 系統會不會因使用者的許可權的改變造成混亂;

  ④ 使用者登陸密碼是否是可見、可複製;

  ⑤ 是否可以通過絕對途徑登陸系統(拷貝使用者登陸後的連結直接進入系統);

  ⑥ 使用者推出系統後是否刪除了所有鑑權標記,是否可以使用後退鍵而不通過輸入口令進入系統。

  2.系統網路安全的測試要考慮問題包括:

  ① 測試採取的防護措施是否正確裝配好,有關係統的補丁是否打上;

  ② 模擬非授權攻擊,看防護系統是否堅固;

  ③ 採用成熟的網路漏洞檢查工具檢查系統相關漏洞;

  ④ 採用各種木馬檢查工具檢查系統木馬情況;

  ⑤ 採用各種防外掛工具檢查系統各組程式的客外掛漏洞。

  3.資料庫安全考慮問題:

  ① 系統資料是否機密(比如對銀行系統,這一點就特別重要,一般的網站就沒有太高要求);

  ② 系統資料的完整性;

  ③ 系統資料可管理性;

  ④ 系統資料的獨立性;

  ⑤ 系統資料可備份和恢復能力(資料備份是否完整,可否恢復,恢復是否可以完整)

終面情況:

5個面試官吧大概,首先自我介紹,接著問了安全的問題,不曉得為啥都喜歡問XSS,還沒回答完畢就被打斷了可能時間比較緊張,然後問了自己本科學校和家是哪裡的。

中國郵政儲蓄銀行軟體研發中心

準備:

一面:正常無結構化,無技術問題
二面:
為什麼來郵政?優勢
1.國企銀行、業務廣泛、快遞業務、網點感覺很廣
一是基層網點眾多。現在全國各地區的農村鄉鎮上都有郵政儲蓄銀行的網點,是農村金融市場的生力軍。國有銀行的網點主要還是在大城市,最低深入到縣城,國有銀行在農村金融市場幾乎空白,只有農業銀行偶爾有零星網點。郵政儲蓄銀行正好填補了農村市場的空白,服務農村大眾客戶。
郵政儲蓄銀行業務比較單一,以農村市場為基地,以存款業務為靠山,穿插一些保險代理之類的中間業務賺取一些手續費,重點還是在小、微、散上下功夫。
2.問了我為什麼選擇郵儲,在銀行受到網際網路金融較大沖擊的情況下為什麼還會選擇銀行,給專業能力、交往能力、領導能力排個序等等。最後收到了OFFER
3.技術面也是以介紹專案和圍繞專案的問題為主,還問了投過哪些公司,未來的職業規劃等等
4.如果能通過面試的話,會有培訓 和導師帶嗎

真實面試情況:

要求9點半到,我是9點10分到就是最後一個了,然後等了將近2個小時,6個面試官
2個問技術問題:SQLmap 的原理 、XSS 、XSS的原理
2個非技術:想做哪個方向、 專案最困難的事情、目前有什麼offer,為什麼不籤

國家電網

1.國網統一筆試考的稀爛,也通過了筆試

2.面試【不用準備 沒技術問題】
準備
1.自我介紹
。。。。。
2.為什麼來國網【。。。。】
1.電力作為國家重要關鍵基礎設施十分重要,國家電網也非常重視資訊化和安全,覆蓋全國平臺很大。
2.對安全感興趣
3.工作相對網際網路沒有996
3.專業給國網帶來什麼,怎麼結合【。。。。】是想攻擊還是防禦
滲透測試、應急響應、安全開發資料分析、態勢感知【資訊採集、資料預處理、風險評估、態勢視覺化】、智慧監測
風險:
防護:

4.安全事件盤點【電力】

  1. 2010年震網 病毒 伊朗核設施
    原理:惡意程式碼以干擾離心機閥門、造成超壓導致離心機批量損壞調整為修改離心機轉數。

  2. 2015年烏克蘭配電公司資料採集系統,電力中斷3個小時、烏克蘭停電事件(黑暗力量)
    黑客通過收集目標使用者郵箱,然後向其定向傳送攜帶惡意檔案的Spam郵件,疏於安全防範的使用者開啟了帶巨集病毒的Office文件(或利用Office漏洞的文件)即可執行Installer(惡意安裝程式)在這裡插入圖片描述

     防禦:
     對郵件內包含的所有檔案進行動態行為鑑定,一旦判定檔案具有惡意行為會將其刪除或隔離。
     第二,對系統關鍵程式進行監控,一旦發現可疑操作立即阻斷其執行。
     第三,阻斷惡意程式碼對外連線,設定一個IP黑白庫對系統外連的ip地址進行過濾。
    
  3. 美國IOT攻擊
    4.委內瑞拉大停電
    原理:

  4. 17年花住酒店資料洩漏
    原理:

  5. 永恆之藍

5.電網可能的安全問題
1.現實物聯網汽車充電樁 協議問題 【明文傳輸】漏洞 攝像頭開啟遠端登陸並且沒有修改原始密碼
2.國企內部可能會應用國外的windows作業系統的產品版本漏洞可能存在後門
3.底層晶片 供應鏈
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

應對措施:
1.應用盡量國產化的軟體、平臺、加密演算法
2.有專門的安全團隊,懂電力和安全
在這裡插入圖片描述
在這裡插入圖片描述

6.中國網路安全產業和國外的差距?
中國網路安全產業 規模小 同質化嚴重。企業對安全投入小 美國網路安全產業突入好幾倍,如今和安全公司更偏向網際網路安全,物聯網這部分做的比較少,奇安信 360 但是懂安全也要懂業務 安全公司不懂業務,安全和工控結合。

7.工業網際網路問題:
1.作業系統 軟體沒升級漏洞
2.訪問控制 和 認證做的不好 U盤
3.內外網隔離存在問題、邊界劃分問題
4.資料明文傳輸
5.大量終端裝置缺乏防護被控制造成ddos

8、物聯網安全威脅
終端安全威脅

終端裝置存在弱口令問題
終端裝置存在安全漏洞易於被操控發動DDOS攻擊、傳送垃圾郵件等
終端裝置身份認證識別弱
終端裝置被植入惡意程式碼或成為殭屍網路
管道安全威脅

沒有統一的物聯網通訊協議標準

物聯網路卡監管體系不健全
物聯網管道存在多樣化,部分技術未納入安全監控,例如藍芽、NFC等
物聯網管道攻擊手段多樣化,如中間人攻擊
雲服務安全威脅

資料洩露

系統漏洞被利用
物聯網身份容易被偽造
物聯網API介面多,容易被惡意攻擊者攻擊
DDOS攻擊

問題:
想問下公司有沒有電力系統的培訓?

中國移動終端

拒了中國移動研究院的面試,面了這個
一面:
1.中國網路安全和美國的區別
2。忘記了
二面:
1.SQL的防禦措施
2.中國網路安全和美國網路安全的理解
3.職業規劃
4.愛自己的專業嗎
5.你是哪裡人

聯通智慧安全&軟體研究院

  1. 智慧安全
    是黨員嗎、想做什麼方向、無技術問題
  2. python和C 的區別、什麼事過擬合、常見的web漏洞有哪些、list和tuple的區別

民生銀行

一面:
1.一面:安全問題 SQL隱碼攻擊怎麼解決 XSS是什麼
2.銀行哪些安全問題?

二面:

寫不動了先這些吧

相關文章