面接質問と回答の解説 — ページ 46 / 52

Offer.ccの面接質問と回答解説の46ページ目を閲覧。思考プロセス、実装の詳細、深掘り質問、公開情報ソースを確認できます。

プロダクト普通

新プロダクト機能の成功指標をどのように定義しますか?

ユーザー価値から出発し、1つの主要指標に加えて診断指標とガードレール指標を定義し、機能の利用がインパクトと混同されないよう、監査可能な定義と実験ルールを用います。

質問と回答を開く
一般難しい

OS面接:ファイルディスクリプタとは何か、そして「Too Many Open Files」をどうデバッグするか?

LinuxのFDテーブル、オープンファイル記述、EMFILEとENFILEの違い、/proc診断、リーク検出、キャパシティプランニング、修正の検証についての本番環境を意識した解説。

質問と回答を開く
コーディング普通

安定した有界優先度付きキューをどのように実装しますか?

二分ヒープを使用して、FIFOによる同順位解決、受付、退出、明確な計算量のトレードオフを備えた固定容量の優先度付きキューを構築します。

質問と回答を開く
システム設計難しい

システムデザイン面接:サービスディスカバリシステムの設計

コントロールプレーンとデータプレーンの分離、鮮度(staleness)の上限、ローリングデプロイ、障害検証に重点を置き、動的なマルチリージョンサービスにおける登録、ヘルス判定、エンドポイント伝播を設計します。

質問と回答を開く
バックエンド難しい

バックエンド面接:長時間実行オペレーション(Long-Running Operations)のAPIをどう設計するか?

HTTP 202、オペレーションリソース、明示的な状態マシンから始め、冪等な送信、制御されたポーリング、キャンセル、永続化されたエラー、結果の保持、障害復旧を備えた長時間実行APIを設計します。

質問と回答を開く
データ難しい

データエンジニアリング面接:パーティショニング戦略の選び方とパーティションプルーニングの有効性を証明する方法

クエリ述語、データ量、データスキュー、メンテナンス要件から分析テーブルのパーティション戦略を導き出し、実行計画、スキャンバイト数、整合性チェックによってプルーニングを検証します。

質問と回答を開く
一般難しい

ネットワーク面接:TLS 1.3 ハンドシェイクの仕組みと 0-RTT が安全な条件

フルハンドシェイク、証明書認証、HKDF 鍵スケジュール、セッション再開、および 0-RTT が安全かどうかを決定する HTTP リプレイ境界について解説します。

質問と回答を開く
コーディング難しい

コーディング面接:依存関係を考慮したタスクスケジューラをどのように設計・構築しますか?

実行可能ノード、失敗の伝播、循環の診断、並行性制限、およびキャンセルセマンティクスを備えた、依存関係を考慮したスケジューラを実装します。

質問と回答を開く
システム設計難しい

システムデザイン面接:検索オートコンプリートサービスをどのように設計するか?

キャパシティの算出、オフラインランキングとオンライン検索の分離、インデックスの公開・モデレーション・障害復旧の明示化を通じて、低レイテンシの検索オートコンプリートサービスを設計します。

質問と回答を開く
バックエンド難しい

バックエンド面接:データベースとキャッシュの整合性をどのように維持するか?

Cache-Asideの無効化(Invalidation)から始め、無効化の欠落、遅延した古いデータの書き込み(Late Stale Fill)、レプリカラグを、有界な古さ(Bounded-Staleness)のバジェット、Transactional Outbox、障害下でテスト可能なバージョンフェンスを用いて対処します。

質問と回答を開く
データ難しい

SQL面接:24時間以内の順序付きコンバージョンファネルの計算

正確なコホートアンカー、段階的なイベントマッチング、24時間ウィンドウ、決定論的なタイブレーク、転換率の計算、および敵対的テストを用いて、PostgreSQLの順序付きファネル面接問題を解決します。

質問と回答を開く
一般難しい

TCP接続のライフサイクル:ハンドシェイク、切断、およびTIME_WAIT

シーケンス番号の同期、ソケット状態、アクティブクローズ側の観点からTCPの確立と切断を説明し、エフェメラルポートの容量、エラーの種類、パケット証拠を用いてTIME_WAITと接続障害を診断します。

質問と回答を開く
コーディング難しい

コーディング面接:削除機能を備えた Cuckoo Filter の実装

近似メンバーシップクエリを実装し、フィンガープリント、2 つの候補バケット、有界なキック(relocation)、偽陽性、リサイズについて説明します。

質問と回答を開く
システム設計難しい

システム設計面接:リアルタイム決済不正検知プラットフォームの設計

判定コントラクト、冪等なベロシティ(頻度)状態、オンラインおよびオフライン特徴量、ルールとモデルによるスコアリング、段階的なアクション、遅延ラベル、リプレイ可能な監査ログ、および明示的な縮退ポリシーから、リアルタイム決済不正検知プラットフォームを導出します。

質問と回答を開く
バックエンド難しい

バックエンド面接:認証の停止を引き起こさずにJWT署名鍵をローテーションするにはどうすればよいか?

キャッシュ、未知のkid、Issuerの障害、および鍵の漏洩を処理し、有効な新旧トークンを拒否しない、検証可能なJWKSローテーションプロトコルを設計します。

質問と回答を開く
データ難しい

データエンジニアリング面接:忘れられる権利(データ削除)パイプラインをどう設計するか?

本番、派生、イミュータブル、バックアップデータ全体から対象者を特定し、データの復活を防止し、完了を証明する、永続的で監査可能なワークフローを設計します。

質問と回答を開く
一般難しい

OS面接:仮想メモリとページフォルトはどのように機能するか?

20 GiBの読み取り専用インデックスをマップするLinuxサービスを題材に、ページテーブル、TLB、マイナー/メジャーフォルト、RSSとPSSを説明し、コールドスタート時のレイテンシを診断・改善します。

質問と回答を開く
コーディング難しい

コーディング面接:ハッシュドタイミングホイール(Hashed Timing Wheel)タイマーの実装

キャンセル、周回、長期遅延、並行性、およびクロック精度を処理しながら、タイミングホイールを用いて多数の近似タイマーを管理します。

質問と回答を開く
システム設計難しい

システム設計面接:分散トレーシングプラットフォームをどのように設計しますか?

コンテキスト伝播、スパン取り込みからトレース組み立て、サンプリング、インデックス作成、障害復旧に至るマルチテナント分散トレーシングプラットフォームを、再計算可能なキャパシティモデルとテールサンプリングの詳細な分析とともに設計します。

質問と回答を開く
バックエンド難しい

バックエンド面接:セキュアなファイルアップロードAPIをどのように設計するか?

悪意のあるファイル、不正なダウンロード、スキャン時の競合状態、リソース枯渇を防ぐ、隔離されたアップロードライフサイクルを設計します。

質問と回答を開く
データ難しい

データサイエンス面接:ネットワーク干渉(Network Interference)が存在する環境下でA/Bテストをどのように設計するか?

必要なロールアウト効果を定義し、波及効果(spillover)と持ち越し効果(carryover)をマッピングした上で、クラスター、スイッチバック、飽和抽出(saturation)、または隔離ユニバース(isolated-universe)によるランダム化を選択し、設計と整合した検出力および分析を実施します。

質問と回答を開く
一般普通

デッドロックの防止・検知・復旧はどのように行うか?

4つの必要条件と待機グラフ(wait-for graph)からデッドロックを診断し、グローバルなロック順序付けがサイクルを防ぐ理由を証明した上で、ランタイム検知、トランザクション復旧、決定論的テストを定義します。

質問と回答を開く
コーディング普通

コーディング面接:UTF-8 バイトシーケンスの検証

残余バイトカウンタとビットマスクを使用して、途切れ(切り捨て)や不正な後続バイトを含め、1〜4 バイトの UTF-8 シーケンスをオンラインで検証します。

質問と回答を開く
システム設計難しい

システム設計面接:リアルタイムゲームリーダーボードの設計方法

ランキングの契約、信頼できるスコアの取り込み、順序付きインデックス、バージョン管理されたスナップショットを出発点として、正確な個人順位と安全なシーズン集計を備えた5000万人規模のリアルタイムゲームリーダーボードを設計します。

質問と回答を開く