自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

放棄后端,沖測開去了!

數(shù)據(jù)庫 其他數(shù)據(jù)庫
關系型數(shù)據(jù)庫存儲結構化數(shù)據(jù)。這些數(shù)據(jù)邏輯上以行列二維表的形式存在,每一列代表數(shù)據(jù)的一種屬性,每一行代表一個數(shù)據(jù)實體。

大家好,我是小林。

最近有一些同學看到很多大廠都開了春招實習,但是自己準備的比較晚,比較著急,問我有什么快速突擊的辦法?

如果之前基礎薄弱的情況下,突擊 1-2 個月也比較難進大廠的后端的,因為有些底層知識原理,得花時間慢慢啃,不然一問三不知,就寄了。

不過可以另辟蹊徑,不卷后端,嘗試一下測試開發(fā)的崗位。

測開的面試相比后端簡單很多,而且投的人不算多,沒有后端卷,獲得面試機會的概率更高一些。

在互聯(lián)網(wǎng)大廠的校招中,測試開發(fā)的薪資實際上和后端開的是一樣的,比如普通檔的大廠 offer,都是 22k*16(年薪 35w+)。

測試開發(fā)崗會伴隨開發(fā)+測試類的工作,開發(fā)主要是開發(fā)一些測試工具來提高測試效率,也會和根據(jù)業(yè)務團隊的需求開發(fā)一些工具。

測試開發(fā)的面試其實跟后端開發(fā)差不多,其實被問的問題不會太細節(jié)或者太底層,除此后端的內容之外,還會考察一些測試相關的內容。

比如,如何設計測試用例、黑盒測試和白盒測試有什么區(qū)別、手動測試和自動測試有什么區(qū)別、api 測試工具怎么用等等。

甚至也會問,為什么要選擇做測試開發(fā)等之類的問題, 同學們在投遞測開崗位的時候,最好提前準備下測試相關的問題。

今天分享2位同學大廠測開的校招面試:快手和滴滴的測開面經(jīng)。

雖然也會有算法題,但是整體的八股和算法的難度確實會比后端減少了很多,是一個彎道超車進大廠的機會,給想準備測開同學做一個參考。

快手測開實習

數(shù)據(jù)庫增刪改查指令說一下?

增加(Insert):用于向數(shù)據(jù)庫表中插入新的數(shù)據(jù)記錄。

  • SQL語句示例:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

刪除(Delete):用于從數(shù)據(jù)庫表中刪除符合指定條件的數(shù)據(jù)記錄。

  • SQL語句示例:DELETE FROM table_name WHERE condition;

修改(Update):用于更新數(shù)據(jù)庫表中符合指定條件的數(shù)據(jù)記錄。

  • SQL語句示例:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

查詢(Select):用于從數(shù)據(jù)庫表中檢索數(shù)據(jù)記錄。

  • SQL語句示例:SELECT column1, column2, ... FROM table_name WHERE condition;

mysql和redis的區(qū)別?

數(shù)據(jù)存儲方式:

  • MySQL:數(shù)據(jù)以表格的形式以行和列的方式存儲在磁盤上,支持復雜的關系型數(shù)據(jù)模型。
  • Redis:數(shù)據(jù)存儲在內存中,因此具有更快的讀寫速度,但受到內存容量的限制。

數(shù)據(jù)類型:

  • MySQL:支持各種數(shù)據(jù)類型,包括整型、浮點型、字符型、日期型等。
  • Redis:支持豐富的數(shù)據(jù)類型,如字符串、列表、集合、哈希表、有序集合等,適合用于緩存、消息隊列等場景。

持久化:

  • MySQL:支持持久化存儲數(shù)據(jù),數(shù)據(jù)可以在磁盤上持久保存。
  • Redis:可以選擇是否持久化數(shù)據(jù),支持RDB快照和AOF日志兩種持久化方式。

應用場景:

  • MySQL:適用于需要復雜查詢和事務支持的應用,如企業(yè)級應用、電子商務平臺等。
  • Redis:適用于對速度要求較高、數(shù)據(jù)量較小、對數(shù)據(jù)結構要求較高的場景,如緩存、計數(shù)器、實時排行榜等。

http和https的區(qū)別?

  • HTTP 是超文本傳輸協(xié)議,信息是明文傳輸,存在安全風險的問題。HTTPS 則解決 HTTP 不安全的缺陷,在 TCP 和 HTTP 網(wǎng)絡層之間加入了 SSL/TLS 安全協(xié)議,使得報文能夠加密傳輸。
  • HTTP 連接建立相對簡單, TCP 三次握手之后便可進行 HTTP 的報文傳輸。而 HTTPS 在 TCP 三次握手之后,還需進行 SSL/TLS 的握手過程,才可進入加密報文傳輸。
  • 兩者的默認端口不一樣,HTTP 默認端口號是 80,HTTPS 默認端口號是 443。
  • HTTPS 協(xié)議需要向 CA(證書權威機構)申請數(shù)字證書,來保證服務器的身份是可信的。

https的安全性體現(xiàn)在哪里?

  • 數(shù)據(jù)加密:HTTPS使用SSL/TLS加密協(xié)議對數(shù)據(jù)進行加密傳輸,防止數(shù)據(jù)在傳輸過程中被竊聽或篡改。
  • 身份驗證:HTTPS使用SSL證書對服務器進行身份驗證,確保通信雙方的身份,防止中間人攻擊。
  • 數(shù)據(jù)完整性:HTTPS使用消息摘要算法(如SHA)來驗證數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中沒有被篡改。

tcp的可靠性怎么保障的?

TCP協(xié)議主要通過以下幾點來保證傳輸可靠性:連接管理、序列號、確認應答、超時重傳、流量控制、擁塞控制。

  • 連接管理:即三次握手和四次揮手。連接管理機制能夠建立起可靠的連接,這是保證傳輸可靠性的前提。
  • 序列號:TCP將每個字節(jié)的數(shù)據(jù)都進行了編號,這就是序列號。序列號的具體作用如下:能夠保證可靠性,既能防止數(shù)據(jù)丟失,又能避免數(shù)據(jù)重復。能夠保證有序性,按照序列號順序進行數(shù)據(jù)包還原。能夠提高效率,基于序列號可實現(xiàn)多次發(fā)送,一次確認。
  • 確認應答:接收方接收數(shù)據(jù)之后,會回傳ACK報文,報文中帶有此次確認的序列號,用于告知發(fā)送方此次接收數(shù)據(jù)的情況。在指定時間后,若發(fā)送端仍未收到確認應答,就會啟動超時重傳。
  • 超時重傳:超時重傳主要有兩種場景:數(shù)據(jù)包丟失:在指定時間后,若發(fā)送端仍未收到確認應答,就會啟動超時重傳,向接收端重新發(fā)送數(shù)據(jù)包。確認包丟失:當接收端收到重復數(shù)據(jù)(通過序列號進行識別)時將其丟棄,并重新回傳ACK報文。
  • 流量控制:接收端處理數(shù)據(jù)的速度是有限的,如果發(fā)送方發(fā)送數(shù)據(jù)的速度過快,就會導致接收端的緩沖區(qū)溢出,進而導致丟包。為了避免上述情況的發(fā)生,TCP支持根據(jù)接收端的處理能力,來決定發(fā)送端的發(fā)送速度。這就是流量控制。流量控制是通過在TCP報文段首部維護一個滑動窗口來實現(xiàn)的。
  • 擁塞控制:擁塞控制就是當網(wǎng)絡擁堵嚴重時,發(fā)送端減少數(shù)據(jù)發(fā)送。擁塞控制是通過發(fā)送端維護一個擁塞窗口來實現(xiàn)的??梢缘贸觯l(fā)送端的發(fā)送速度,受限于滑動窗口和擁塞窗口中的最小值。擁塞控制方法分為:慢開始,擁塞避免、快重傳和快恢復。

linux指令簡單說幾個

  • ls:列出目錄內容。
  • grep:在文件中搜索指定模式。
  • chmod:修改文件權限。
  • top:顯示系統(tǒng)當前資源占用情況。
  • ps:顯示當前進程信息。
  • netstate:查看進程端口號

數(shù)組和鏈表的區(qū)別?

  • 訪問效率:數(shù)組可以通過索引直接訪問任何位置的元素,訪問效率高,時間復雜度為O(1),而鏈表需要從頭節(jié)點開始遍歷到目標位置,訪問效率較低,時間復雜度為O(n)。
  • 插入和刪除操作效率:數(shù)組插入和刪除操作可能需要移動其他元素,時間復雜度為O(n),而鏈表只需要修改指針指向,時間復雜度為O(1)。
  • 緩存命中率:由于數(shù)組元素在內存中連續(xù)存儲,可以提高CPU緩存的命中率,而鏈表節(jié)點不連續(xù)存儲,可能導致CPU緩存的命中率較低,頻繁的緩存失效會影響性能。
  • 應用場景:數(shù)組適合靜態(tài)大小、頻繁訪問元素的場景,而鏈表適合動態(tài)大小、頻繁插入、刪除操作的場景

設計測試用例:朋友圈點贊功能

測試用例1 - 點贊功能正常使用:

  • 步驟:用戶進入朋友圈頁面,找到一條動態(tài),點擊點贊按鈕。
  • 預期結果:點贊按鈕狀態(tài)變?yōu)橐腰c贊,點贊數(shù)加一,用戶信息顯示在點贊列表中。

測試用例2 - 取消點贊功能:

  • 步驟:用戶進入朋友圈頁面,找到已點贊的動態(tài),再次點擊點贊按鈕。
  • 預期結果:點贊按鈕狀態(tài)變?yōu)槲袋c贊,點贊數(shù)減一,用戶信息從點贊列表中移除。

測試用例3 - 多用戶同時點贊:

  • 步驟:多個用戶同時對同一條動態(tài)進行點贊操作。
  • 預期結果:點贊數(shù)正確累加,點贊列表顯示所有點贊用戶信息。

測試用例4 - 點贊數(shù)上限限制:

  • 步驟:連續(xù)多次點贊同一條動態(tài)。
  • 預期結果:點贊數(shù)達到上限時,無法再進行點贊操作,系統(tǒng)給出相應提示。

測試用例5 - 點贊數(shù)據(jù)同步:

  • 步驟:用戶在多端(如手機、電腦)對同一條動態(tài)進行點贊操作。
  • 預期結果:點贊操作在所有設備上同步更新,保持一致性。

測試用例6 - 點贊功能異常處理:

  • 步驟:模擬網(wǎng)絡異?;蚍掌鞴收蠒r進行點贊操作。
  • 預期結果:系統(tǒng)能夠正確處理異常情況,保證數(shù)據(jù)的一致性和完整性。

手撕:鏈表刪除

class ListNode {
    int val;
    ListNode next;
    ListNode(int x) {
        val = x;
    }
}

public class LinkedListDeletion {
    public ListNode deleteNode(ListNode head, int val) {
        if (head == null) {
            return null;
        }
        
        if (head.val == val) {
            return head.next;
        }
        
        ListNode prev = head;
        ListNode curr = head.next;
        
        while (curr != null) {
            if (curr.val == val) {
                prev.next = curr.next;
                break;
            }
            prev = curr;
            curr = curr.next;
        }
        
        return head;
    }
}

其他

  • 為什么選擇測試開發(fā)崗位?

滴滴測開面經(jīng)

介紹TCP和UDP,有什么應用?

  • TCP:TCP是面向連接的、可靠的、基于字節(jié)流的傳輸協(xié)議,適用于需要可靠傳輸、順序傳輸、流量控制和擁塞控制的應用。
  • UDP:UDP是無連接的、不可靠的、基于數(shù)據(jù)包的傳輸協(xié)議。適用于實時性要求高、能容忍一定數(shù)據(jù)丟失的應用,以及需要減少通信開銷的應用。

你了解redis嗎?

了解,redis屬于NoSQL數(shù)據(jù)庫的一種,它主要用來作為緩存、分布式鎖、消息中間件等多種用途。

數(shù)據(jù)存儲在內存中,讀寫速度非常快,支持多種數(shù)據(jù)結構,如字符串、哈希、列表、集合、有序集合等。

關系型數(shù)據(jù)庫的特點是什么?

SQL數(shù)據(jù)庫,指關系型數(shù)據(jù)庫 - 主要代表:SQL Server,Oracle,MySQL(開源),PostgreSQL(開源)。

關系型數(shù)據(jù)庫存儲結構化數(shù)據(jù)。這些數(shù)據(jù)邏輯上以行列二維表的形式存在,每一列代表數(shù)據(jù)的一種屬性,每一行代表一個數(shù)據(jù)實體。

圖片圖片

NoSQL指非關系型數(shù)據(jù)庫 ,主要代表:MongoDB,Redis。NoSQL 數(shù)據(jù)庫邏輯上提供了不同于二維表的存儲方式,存儲方式可以是JSON文檔、哈希表或者其他方式。

圖片圖片

選擇 SQL vs NoSQL,考慮以下因素。

ACID vs BASE

關系型數(shù)據(jù)庫支持 ACID 即原子性,一致性,隔離性和持續(xù)性。相對而言,NoSQL 采用更寬松的模型 BASE , 即基本可用,軟狀態(tài)和最終一致性。

從實用的角度出發(fā),我們需要考慮對于面對的應用場景,ACID 是否是必須的。比如銀行應用就必須保證 ACID,否則一筆錢可能被使用兩次;又比如社交軟件不必保證 ACID,因為一條狀態(tài)的更新對于所有用戶讀取先后時間有數(shù)秒不同并不影響使用。

對于需要保證 ACID 的應用,我們可以優(yōu)先考慮 SQL。反之則可以優(yōu)先考慮 NoSQL。

擴展性對比

NoSQL數(shù)據(jù)之間無關系,這樣就非常容易擴展,也無形之間,在架構的層面上帶來了可擴展的能力。比如 redis 自帶主從復制模式、哨兵模式、切片集群模式。

相反關系型數(shù)據(jù)庫的數(shù)據(jù)之間存在關聯(lián)性,水平擴展較難 ,需要解決跨服務器 JOIN,分布式事務等問題。

你的登錄接口設計的哪些測試用例?

  • 邊界值測試:測試輸入的邊界情況,例如最小長度的用戶名和密碼、最大長度的用戶名和密碼等。
  • 狀態(tài)轉換測試:測試在不同狀態(tài)下進行登錄操作的情況,如已登錄狀態(tài)下再次登錄應有何反應。
  • 權限測試:測試不同用戶角色的登錄情況,如管理員、普通用戶等。
  • 并發(fā)測試:模擬多個用戶同時嘗試登錄系統(tǒng),驗證系統(tǒng)的并發(fā)處理能力。
  • 跨平臺測試:測試不同平臺(如PC、移動端)上的登錄功能。
  • 性能測試:驗證系統(tǒng)在不同負載下的登錄性能,如高并發(fā)情況下的登錄響應時間。
  • 安全性測試:測試系統(tǒng)對于安全漏洞(如密碼泄露、會話劫持)的防范能力。

手撕:sql語句:有一張成績表,查詢最高成績

SELECT MAX(score) FROM grades;

手撕:二分查找

public int binarySearch(int[] arr, int target) {
    int low = 0;
    int high = arr.length - 1;

    while (low <= high) {
        int mid = low + (high - low) / 2;

        if (arr[mid] == target) {
            return mid;
        } else if (arr[mid] < target) {
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }

    return -1; // target not found
}

其他

  • 介紹研究研究方向
  • 為什么想做測試?
責任編輯:武曉燕 來源: 小林coding
相關推薦

2023-11-10 17:04:33

2024-03-05 18:07:44

Java并發(fā)索引

2012-03-30 17:18:29

SQL Server

2012-07-06 16:43:51

Linux

2010-07-05 13:36:59

2015-09-24 14:38:30

2009-03-25 13:50:05

2022-06-28 09:14:42

云基礎設施中臺PaaS

2016-11-02 12:47:51

數(shù)據(jù)流動大數(shù)據(jù)

2012-12-28 09:32:16

健康數(shù)據(jù)App

2025-03-03 10:26:33

2012-04-28 16:28:43

App Store沖榜策略下載量

2009-06-25 15:33:48

OSGi方式

2023-12-14 17:31:10

SQL表格模型功能

2023-01-09 07:50:29

開源開發(fā)者項目

2023-07-07 09:08:21

2022-04-10 11:52:43

前端單測程序

2014-09-18 10:01:53

Linux

2024-07-03 13:32:28

點贊
收藏

51CTO技術棧公眾號