以下は、過去数年間の私の面接経験と以前に収集した情報に基づいた、ソフトウェア テスト エンジニア向けの面接でよく聞かれる 350 以上の質問です。
ByteDance、Alibaba、Tencent、Baidu、Kuaishou、Meituan などの大手企業で頻繁にテストされる面接の質問はすべて記事で言及されています。
この記事は長いですが、クリックして保存する価値があります。
就職を考えている学生の皆さんは、この記事を読んで面接前にしっかりと復習しておけば、満足のいく就職ができると思います。
ヒント: 私がまとめた面接の質問はすべてこのマインド マップに従って書かれています。随時更新します。下にスクロールすると目次があります。後ほど参考回答を追加していきます。タイトルをクリックして読んでください。 . この記事は長期間有効ですので、テスト関連の仕事を探している学生に適しています。完全な文書や回答が必要な場合は、コメント欄にメッセージを残してください。
1. 開会の挨拶
Q:簡単に自己紹介をお願いします。
Q: プロジェクトやインターンシップの経験はありますか? (STAR ルール式の使用に注意してください)
2. ソフトウェアテストの基礎
仕事内容
Q:試験内容別に、どのような種類の試験がありますか?
Q: ソフトウェア開発(テスト)のプロセスはどのようなものですか?
Q: 一番印象に残っているバグは何ですか?
Q: CI/CD についての理解について教えてください
Q: DevOps についてのあなたの理解について教えてください
Q: BDD とは何ですか? TDD とは何ですか?
Q: APP 内のページがネイティブ ページであるか H5 ページであるかはどのようにしてわかりますか? 試験方法
Q: ブラックボックステストの方法にはどのようなものがありますか?
Q: ホワイトボックステストの方法は何ですか?
Q: 単体テストとは何ですか?
Q: 統合テストとは何ですか?
Q: テスト ケースを作成および設計するにはどうすればよいですか?
Q: グレーボックステストとは何ですか? テストドキュメント
Q: テスト ケースにはどのような要素が含まれますか?
Q: テストレポートにはどのような要素を表示する必要がありますか?
Q: テストスケジュールはどのように見積もればよいですか?
Q: データ構築の経験について教えてください。自動テスト
Q: たとえば、どのような機能を自動化できますか?
Q: 機能が自動的にテストできるかどうかを判断するにはどうすればよいですか?
Q: xpath パスを見つける方法は何ですか?
Q: 動的要素を配置するにはどうすればよいですか?
Q: Web ページ上で中断されている要素と同様の要素 (Web 上で飛び交う広告と同様) を配置する方法
Q: 自動テスト ツールと知っているテスト ツールを挙げてください
Q: fiddler のパケット キャプチャ原理について話しましょう
Q: fiddler は https リクエストをどのようにキャプチャしますか?
Q: Wireshark によってキャプチャされたパケットのヘッダーには何が含まれていますか? 性能試験
Q: パフォーマンステストはどのように行われますか?
Q: パフォーマンス テストではどのような側面に焦点を当てる必要がありますか? ゲームのテスト
Q:一番印象に残っているゲームは何ですか?あなたにとって最も魅力的な点は何ですか?
Q: 最も印象に残ったゲームのバグとその理由を分析します。
Q: 大規模なマップ ゲームをテストするにはどうすればよいですか? どのようなテスト ポイントを使用する必要がありますか?
Q: 不合理なテスト プログラムの設計と、完璧なテスト プログラムでもテスターのエラーが発生した場合、どちらがより深刻ですか?
Q: ゲームテストの立場と責任は何だと思いますか?
Q: ゲームがクライアントとサーバーのアーキテクチャを採用する必要性は何ですか?
Q: LOL スクリプトの原理は何ですか?
Q: LOL のような競技用スクリプトほど開発された RPG ゲーム スクリプトが少ないのはなぜですか?
Q: トリガーされる可能性は非常に低いですが、非常に致命的なバグがあります。プロジェクトは明日開始する必要があります。どのように対処しますか? 解決する必要はありません。この種の対処方法を聞いてください。のこと。
Q: なぜゲームのテストをしたいのですか?
Q: ゲームを作ってと言われたら、どのタイプのゲームを作りたいですか (MMORPG? MOBA? FPS? RTS?)
Q: ゲームの歴史について話しましょう。ゲーム以外の趣味は何ですか?
Q: ゲームのテスト用に知っているテスト ツールを挙げてください
3. 実践的なソフトウェアテスト
トラブルシューティングのアイデア
Q: Web ページがクラッシュする原因は何ですか?
Q: ユーザーからアバターのアップロードが失敗したと報告がありましたが、その理由を分析してください。
Q: アプリがクラッシュするのはなぜですか?
Q: 偶発的なクラッシュのトラブルシューティングを行うにはどうすればよいですか?
Q: Web ページの遅延の原因は何ですか?
Q: 10% のユーザーが機能が使用できないと報告していますが、トラブルシューティングはどのように行っていますか?
Q: ログインボタンをクリックできないのですが、解決方法はありますか?
Q: ストレス テスト中、QPS は改善できませんでしたが、どのようにトラブルシューティングしますか?
Q: APP がネットワークに接続できないというメッセージを表示します。トラブルシューティングはどのように行いますか?
Q: BUG がフロントエンド BUG であるかバックエンド BUG であるかを判断するにはどうすればよいですか? 実践事例
Q: Weibo に更新情報を投稿し、テスト ポイントを設計します。
Q: 自動販売機のテスト ケースを設計する
Q: WeChat で赤い封筒を送信するためのテスト ケースを設計します。
Q: Douyin ライブ ストリーミング機能のテスト ケースを設計する
Q: WeChat スキャン コード支払いのテスト ケースを設計する
Q: Baidu ホームページのテスト ケースを設計する
Q: WeChat のいいね機能をテストするにはどうすればよいですか?
Q: WeChat の赤い封筒では、各人が受け取ることができる金額を最初に計算する必要がありますか、それともその人が赤い封筒をクリックしてから計算する必要がありますか。
Q: WeChat モーメントのコメント機能をテストするにはどうすればよいですか?
Q: WeChat で開始された新しい友達の推薦機能をテストするにはどうすればよいですか?
Q: WeChatのアバター変更機能のテストとテストケースの設計
Q:Douyinビデオのセキュリティテストのテストポイントは何ですか?
Q: モバイル ブラウザに http://baidu.com と入力してもページを開けない場合、どのようにトラブルシューティングしますか?
Q: 入力ボックスのテスト ケースを設計しますか?
Q: ログイン インターフェイスのテスト ケースを作成しますか?
Q: インターフェイスのテスト ケースを作成する
Q: 検索機能をテストするにはどうすればよいですか?
4. 言語の基礎
ジャワ
Q: ポリモーフィズムとは何ですか?
Q: GCとは何ですか?
Q: セットとハッシュセットの違い
Q: マップとハッシュマップの違い
Q: ハッシュマップの検索、削除、追加にかかる時間の複雑さ
Q: すべての Java プロセスを検索します
Q: Java プロセスを強制終了します
Q: Java のコピーと 4 種類の参照を紹介します
Q: Java コンテナとは何ですか? Java 配列とリンク リストについて簡単に紹介します
Q: Java コレクションについてどのくらい知っていますか?
Q: Java の 3 つの主要な機能は何ですか?
Q: リストとマップの違いは何ですか?
Q: リスト、セット、マップの違いについて話してください。
Q: 書き換えとオーバーロードの違いは何ですか?
Q: HashMap と HashTable の違いは何ですか?
Q: ArrayList と LinkedList の違いは何ですか?
Q: マップの put メソッド
Q: Java カプセル化、Java アクセス許可キーワードの範囲は何ですか?
Q: Java をインターフェース用にプログラムする必要があるのはなぜですか?
Q: 反射とは何ですか?
Q: インターフェイスとアブストラクトの違いは何ですか?
Q: Maven についてご存知ですか? Maven についての理解について話す
パイソン
Q: グローバル変数とローカル変数の名前を同じにすることはできますか?
Q: Python の is と == の違いは何ですか?
Q: Python 変数の作成と破棄のプロセス
Q: Python のガベージ コレクション メカニズム
Q: dict の基底構造とタプルおよびリストの基底構造の違い
Q: ディープ コピーとシャロー コピーの違いは何ですか?
Q: コルーチンとは何ですか?
Q: デコレータとは何ですか? デコレータを使用したときの例を挙げてください
Q: @classmethod と @staticmethod の違いは何ですか?また、それらはどのような使用シナリオで使用されますか?
Q:ダックタイピングとは何ですか?
Q: Python の変数の型は何ですか?
Q: Python の一般的なデータ型は何ですか?
Q: python2 と python3 の違いを列挙してください
Q: ラムダ関数とは何ですか? 使い方?
Q: 他のプログラミング言語には三項演算子がありますが、Python で三項演算子を表現するにはどうすればよいですか?
Q: try...excited...else と try...excited...finally の違いは何ですか?
Q: 反復可能なオブジェクトとは何ですか? 反復可能なオブジェクトの原理は何ですか?
Q: with...as の原理は何ですか?
Q: Python の GIL ロックについて説明してください
Q: Python は単一継承ですか、それとも多重継承ですか?
Q: Python での継承の順序は何ですか?
Q: メタクラスとは何ですか?
Q: Python が遅いと言われるのはなぜですか?
シェル
Q: それを処理するシェル スクリプトを作成するのはどのような状況に適していますか? C++
Q: ポインターと参照の違いは何ですか?
5. データ構造とアルゴリズム
リンクされたリスト
Q: 順序付けされたリンク リストで K 番目に大きいノードを見つけるにはどうすればよいですか?
Q: これら 2 つのリンクされたリストが任意の時点で交差するかどうかを確認するにはどうすればよいですか?
Q: 配列とリンク リストの違いは何ですか?
Q: リンクリスト逆順配列
Q: 2 つの順序付けされた配列をマージするにはどうすればよいですか?
Q: 配列内で合計が n となる 2 つの数値を見つける場合の時間計算量はどれくらいですか?
Q: int 配列をソートするにはどうすればよいですか?
Q: int 配列から重複を削除するにはどうすればよいですか? 複雑さ
Q: 時間計算量とは何ですか?
Q: 時間計算量を計算するにはどうすればよいですか?
選別
Q:8大ランキングとは何ですか?
Q: クイックソートの原理
Q: マージソートの原理
Q: バブルソーティングの原理
Q: 挿入ソートの原理
Q: 選択ソートの原理
木
Q: 数値の定義、コードの実装
Q: 木の高さはどれくらいですか? どのようにお願いすればよいでしょうか?
Q: 二分木のノード数を計算したい
Q: ルートノードとは何ですか? リーフノードとは何ですか?
Q: バイナリツリーを再帰的に出力します
Q: 再帰とは何ですか?
Q: 再帰の時間計算量はどれくらいですか? 弦
Q: 文字列の長さは変更できますか?
ヒープとスタック
Q: ヒープとスタックの違いは何ですか?
Q: スタック動的プログラミングを実装するコード
Q: 動的プログラミングとは何ですか?
高度なアルゴリズム
Q: 深度トラバーサルとは何ですか? 幅横断とは何ですか? 探す
Q: 二分探索を実現するために必要な条件は何ですか? ハッシュマップ
6. フレームワーク開発フレームワーク
ジャンゴ
Q: Django のディレクトリ構造を簡単に紹介します
Q: MVC とは何か知っていますか? なぜジャンゴはMTVのモデルと言われているのでしょうか?
Q: Django でのネットワーク リクエストの実装プロセス
Q: uwsgi とは何ですか? uwsgi を使用する場合と Django のネイティブ起動方法を使用する場合の違いは何ですか?
Q:ORMをご存知ですか?Django の ORM マッピングの簡単な紹介
Q: Django の CBV と FBV の違いは何ですか? 実際のプロジェクトではどの方法を使用しますか? なぜ?
Q: Django モジュールをデータベースに同期するにはどうすればよいですか? 同期プロセス中に落とし穴はありますか?
春
Q: Spring フレームワークの概要
Q:IOCとは何ですか?
Q:DIとは何ですか?
Q:AOPとは何ですか?
テストフレームワーク Selenium
Q: Selenium フレームワークはどのように機能しますか?
Q: Selenium で要素を配置する方法は何ですか? Appium
Q: Appium を使用したことがありますか? 原理は何ですか? Unittest Pytest TestNG Junit
7. コンピュータの基本 コンピュータネットワーク
TCP/UDP
Q: TCP 3 ウェイ ハンドシェイクについて簡単に説明します (2 回または 4 回ではない理由)
Q: 4 つの別れとは何ですか?
Q: TCP 輻輳とは何ですか?
Q: TCP はどのようにしてセキュリティを確保しますか? UDP は TCP と同じくらい安全ですか? また、それを実現する方法は何ですか?
Q: TCP の信頼性制御戦略と再送信メカニズムをご存知ですか?
Q: TCP プロトコルはどの層に属しますか? HTTP/HTTPS Q: Cookie とセッションのメカニズムと違い
Q: URLを入力してからWebページに表示されるまでの流れについて
Q: 知っている Web ページのステータス コードを列挙してください
Q: 3 で始まるネットワーク ステータス コードの意味は何ですか? 302と304の違いは何ですか?
Q: 4 で始まるネットワーク ステータス コードは何を意味しますか?
Q: 5 で始まるネットワーク ステータス コードは何を意味しますか?
Q: HTTPS とは何ですか? 原理は何ですか?
Q: GET と POST の違いは何ですか?
Q: ネットワークリクエスト方法にはどのようなものがありますか?
Q:RESTful APIとは何か簡単に紹介 Q:PUTとPOSTの違い
Q: 一般的なリクエストヘッダーをリストします。
Q: HTTP リクエスト メッセージはどのようなものですか? (GETの例)
Q: GET の長さの制限をご存知ですか?
完全な文書や回答が必要な場合は、コメント欄にメッセージを残してください。