![](https://images.downcodes.com/uploads/20250114/img_6785757164ad130.png)
Notice
Warning
PR要求の際に作成規則を遵守してください。遵守しないと、PRは拒否されることがあります。
- フィードバックは、Pull Requestによるフィードバック要求方法を参照してPull Requestに送信してください。
- プルリクエストの作成規則についてはこちらをご覧ください。
- GitHubの他にGitBookサイトでもご覧いただけます。
しかし、Latex文法が異なり、他のWebサイトに移行する予定です。時間が経つと移行する予定です。
- ご質問や共有したいヒントがある場合は、Discussionを活用してください。
- 面接レポ改善プロジェクトの進捗状況はこちらをご確認ください。
- お知らせで申し上げたように、進行が遅れることがあります。
Interview Questions
?統計/数学
- 固有値(eigen value)と固有ベクトル(eigen vector)が何であり、なぜ重要なのかを説明してください。
- サンプリングとリサンプリングが何で、リサンプリングの利点を教えてください。
- 確率モデルと確率変数は何ですか?
- 累積分布関数と確率密度関数とは何ですか?数式で表現してください。
- 条件付き確率は何ですか?
- 共分散と相関係数は何ですか?数式で表現してください。
- 信頼区間の定義は何ですか?
- p-valueを知らない人に説明したらどうしたらいいですか?
- R squareの意味は何ですか?
- 平均(mean)と中央値(median)の中でどのようなケースで何を書くべきですか?
- 中心極限定理はなぜ便利なのでしょうか?
- エントロピーについて説明してください。できればInformation Gainも。
- どうすればパラメトリックな方法論を書くことができ、どのようなときに非パラメトリックな方法論を書くことができますか?
- 「likelihood」と「probability」の違いは何ですか?
- 統計で使用されるbootstrapの意味は何ですか。
- パラメータが非常に少ない(数十以下)ケースの場合、どのように予測モデルを確立できますか?
- ベイジアンとフリークエンティストの立場の違いを説明できますか?
- 検定力とは何ですか?
- missing valueがある場合は埋める必要がありますか?その理由は何ですか?
- アウトライヤーが判断する基準は何ですか?
- 必要なサンプルのサイズをどのように計算しますか?
- Biasを制御する方法は?
- ログ関数はどのような場合に便利ですか?ケースを挙げて説明してください。
- ベルヌーイ分布/二項分布/カテゴリ分布/多項分布/ガウス正規分布/t分布/カイ二乗分布/F分布/ベータ分布/ガンマ分布について説明してください。そして、分布間の関連性も説明してください。
- 出張のために飛行機に乗ろうとします。あなたは傘を取るべきかどうかを知りたいので、出張地に住んでいる3人の友人にランダムに電話し、雨が降る場合を独立して尋ねてください。各友人は2/3で真実を、1/3で偽を話します。 3人の友人がみんな「そうです。雨が降っています」と言いました。実際に雨が降る確率はいくらですか?
?機械学習
- 知っているメトリックについて説明してください。 (ex. RMSE、MAE、recall、precision...)
- 正規化をなぜする必要がありますか?正規化の方法は何ですか?
- Local MinimaとGlobal Minimumについて説明してください。
- 次元の呪いについて説明してください。
- dimension reduction技法で通常どんなものがありますか?
- PCAは次元縮小技術でありながら、データ圧縮技術でもあり、ノイズ除去技術でもあります。なぜそれを説明できますか?
- LSA、LDA、SVDなどの略語がどのような意味を持ち、互いにどのような関係を持つかを説明できますか?
- Markov Chainを高校生に説明するには、どのような方法が一番良いのでしょうか?
- テキストの山からトピックを抽出する必要があります。どのようにアプローチしていきますか?
- SVMはなぜ逆にディメンションを拡張するように動作するのですか? SVMはなぜ良いのですか?
- 他の優れた機械学習に備えて、古い技術であるナイブベイズの利点を擁護してください。
- 回帰/分類に適したメトリックは何ですか?
- Association RuleのSupport、Confidence、Liftについて説明してください。
- 最適化技術の中で、Newton's MethodとGradient Descentの方法について知っていますか?
- 機械学習(machine)アプローチと統計的アプローチの2つの間に違いについての見解はありますか?
- 人工ニューラルネットワーク(深い学習前の伝統的)が持つ一般的な問題は何ですか?
- 今出ている深い学習系の革新の根幹は何だと思いますか?
- ROCカーブについて説明できますか?
- あなたは100台のサーバーを持っています。この時、人工ニューラルネットワークよりランダムフォレストを使うべき理由は何ですか?
- K-meansの代表的な意味論的欠点は何ですか? (計算量が多いのではなく)
- L1、L2の正規化について説明してください。
- Cross Validationとは何ですか?
- XGBoostを知っていますか?なぜこのモデルはキャグルで有名ですか?
- アンサンブル方法にはどんなものがありますか?
- feature vectorとは何ですか?
- 良いモデルの定義は何ですか?
- 50個の小さな意思決定木は、大きな意思決定木より大丈夫でしょうか?なぜそう思いますか?
- スパムフィルタにロジスティックリグレッションを多用するのはなぜですか?
- OLS(ordinary least squre)regressionの公式は何ですか?
?ディープラーニング
- ディープラーニングとは何ですか?ディープラーニングとマシンラーニングの違いは?
- Cost FunctionとActivation Functionとは何ですか?
- Tensorflow、PyTorchの特徴と違いは何ですか?
- Data Normalizationとは何ですか?なぜ必要ですか?
- ご存知のActivation Functionについて教えてください。 (Sigmoid、ReLU、LeakyReLU、Tanhなど)
- オーバーフィッティングの場合はどう対処すればよいですか?
- ハイパーパラメータは何ですか?
- Weight Initialization 方法について教えてください。そして何をたくさん使うのですか?
- ボルツマンマシンとは何ですか?
- TF、PyTorchなどを使用するときのデバッグノウハウは?
- ニューラルネットの最大の欠点は何ですか?このために出てきたワンショット学習は何ですか?
- 最近SigmoidよりReLUをたくさん使うのにその理由は?
- Non-Linearityという言葉の意味とその必要性は?
- ReLUでどのように曲線関数を近似するのですか?
- ReLUの問題は?
- Biasはなぜあるのか?
- Gradient Descentについて簡単に説明したら?
- なぜ必ずGradientを書くべきですか?そのグラフの横軸と縦軸のそれぞれは何ですか?実際の状況では、そのグラフがどのように描かれるのか?
- GD中に時々ロスが増加する理由は?
- Back Propagationについて簡単に説明したら?
- Local Minimaの問題にもかかわらず、ディープラーニングがうまくいく理由は?
- GDがLocal Minimaの問題を回避する方法は?
- 見つかった年がGlobal Minimumであるかどうかを知る方法は?
- TrainingセットとTestセットを分離する理由は?
- Validationセットが別にある理由は?
- Testセットが汚染されたという言葉の意味は?
- Regularizationとは何ですか?
- Batch Normalizationの効果は?
- Dropoutの効果は?
- BN適用して学習後実際の使用時に注意する点は?コードでは?
- GANからGenerator側にもBNを適用してもよいか?
- SGD、RMSprop、Adamについて知っているとしたら?
- SGDでStochasticの意味は?
- ミニバッチを小さくする際の長所と短所は?
- 勢いの式を書いてみると?
- 単純なMNIST分類器をMLP + CPUバージョンでnumpyにしたら、何行ですか?
- どれくらい帰るやつを書くのに何時間かかりますか?
- Back Propagationは何行ですか?
- CNNに変えたらどれくらい追加されますか?
- 簡単なMNIST分類器をTF、PyTorchなどで作成するのに何時間かかりますか?
- CNNではなくMLPにしてもいいだろうか?
- 最後のレイヤー部分について説明したら?
- 学習はBCE lossとしますが、状況をMSE lossと見たい場合は?
- ディープラーニング時にGPUを使うと良い理由は?
- GPUを二つとも書きたい。方法は?
- 学習に必要なGPUメモリはどのように計算しますか?
? Python
- What is the difference between list and tuples in Python?
- What are the key features of Python?
- What type of language is python? Programming or scripting?
- Python an interpreted language. Explain。
- What is pep 8?
- How is memory managed in Python?
- What is namespace in Python?
- What is PYTHONPATH?
- What are python modules? Name some commonly used built-in modules in Python?
- What are local variables and global variables in Python?
- Is python case sensitive?
- What is type conversion in Python?
- How to install Python on Windows and set path variable?
- Is indentation required in python?
- What is the difference between Python Arrays and lists?
- What are functions in Python?
- What is
__init__
? - What is a lambda function?
- What is self in Python?
- How does break, continue and pass work?
- What does
[::-1]
do? - How can you randomize the items of a list in place in Python?
- What's the difference between iterator and iterable?
- How can you generate random numbers in Python?
- What is the difference between range & xrange?
- How do you write comments in python?
- What is pickling and unpickling?
- What are the generators in python?
- How will you capitalize the first letter of string?
- How will you convert a string to all lowercase?
- How to comment multiple lines in python?
- What are docstrings in Python?
- What is the purpose of is, not and in operators?
- What is the usage of help() and dir() function in Python?
- Whenever Python exits, why isn't all the memory de-allocated?
- What is a dictionary in Python?
- How can the ternary operators be used in python?
- What does this mean:
*args
, **kwargs
? And why would we use it? - What does len() do?
- Explain split(), sub(), subn() methods of “re” module in Python.
- What are negative indexes and why are they used?
- What are Python packages?
- How can files be deleted in Python?
- What are the built-in types of python?
- What advantages do NumPy arrays offer over (nested) Python lists?
- How to add values to a python array?
- How to remove values to a python array?
- Does Python have OOps concepts?
- What is the difference between deep and shallow copy?
- How is Multithreading achieved in Python?
- What is the process of compilation and linking in python?
- What are Python libraries? Name a few of them.
- What is split used for?
- How to import modules in python?
- Explain Inheritance in Python with an example.
- How are classes created in Python?
- What is monkey patching in Python?
- Does python support multiple inheritance?
- What is Polymorphism in Python?
- Define encapsulation in Python?
- How do you do data abstraction in Python?
- Does python make use of access specifiers?
- How to create an empty class in Python?
- What does an object() do?
- What is map function in Python?
- Is python numpy better than lists?
- What is GIL in Python language?
- What makes the CPython different from Python?
- What are Decorators in Python?
- What is object interning?
- What is @classmethod, @staticmethod, @property?
ネットワーク
- TCP/IP の各階層を説明してください。
- OSI 7階層とTCP / IP層の違いを説明してください。
- フレーム、パケット、セグメント、データグラムを比較してください。
- TCPとUDPの違いを説明してください。
- TCPとUDPのヘッダーを比較してください。
- TCPの3-way-handshakeと4-way-handshakeを比較説明してください。
- TCPの接続設定過程(ステップ3)と接続終了過程(ステップ4)このステップが違います。なぜですか?
- サーバーがFINフラグを送信する前に送信したパケットが、Routingの遅延やパケットの損失による再送信などによってFINパケットより遅く到着する状況が発生した場合はどうなりますか?
- 最初のSequence NumberであるISNを0から始めずに乱数を生成して設定するのはなぜですか?
- HTTPとHTTPSについて説明し、違いについて説明してください。
- HTTPリクエスト/レスポンスヘッダの構造を説明してください。
- HTTPとHTTPSの動作プロセスを比較してください。
- CORSとは何ですか?
- HTTP GETとPOSTメソッドを比較/説明してください。
- クッキー(Cookie)とセッション(Session)を説明してください。
- DNSとは何ですか?
- RESTとRESTfulの概念を説明し、違いを教えてください。
- ソケットとは何ですか?自分の言語で簡単にソケット生成の例を見せてください。
- Socket.ioとWebSocketの違いを説明してください。
- IPv4とIPv6の違いを説明してください。
- MAC Addressとは何ですか?
- ルータとスイッチ、ハブの違いを説明してください。
- SMTPとは何ですか?
- ノートパソコンで
www.google.com
にアクセスしました。リクエストを送受信するまでのプロセスを詳しく説明してください。 - 複数のネットワーク topology について簡単に紹介してください。
- subnet maskについて説明してください。
- data encapsulationとは何ですか?
- DHCPを説明してください。
- ルーティングプロトコルをいくつか説明してください。 (ex. link state, distance vector)
- イーサネットとは何ですか?
- clientとserverの違いを説明してください。
- delay, timing(jitter), throughput の違いを説明してください。
オペレーティングシステム
- プロセスとスレッドの違い(Process vs Thread)を教えてください。
- マルチプロセスの代わりにマルチスレッドを使用する理由を説明してください。
- キャッシュの地域性について説明してください。
- Thread-safeについて説明してください。 (hint: critical section)
- ミューテックスとセマフォの違いを説明してください。
- スケジューラとは何か、短期/中期/長期に分ける基準について説明してください。
- CPUスケジューラであるFCFS、SJF、SRTF、Priority Scheduling、RRについて簡単に説明してください。
- 同期と非同期の違いを説明してください。
- メモリ管理戦略には何があるか簡単に説明してください。
- 仮想メモリについて説明してください。
- デッドロック(デッドロック、Deadlock)の概念と条件を説明してください。
- ユーザーレベルスレッドとカーネルレベルスレッドの違いを説明してください。
- 外部断片化と内部断片化について説明してください。
- Context Switchingとは何かを説明し、コースをリストしてください。
- Swappingについて説明してください。
?データ構造
- linked list
- single linked list
- double linked list
- circular linked list
- hash table
- stack
- queue
- graph
- ツリー
- バイナリーツリー
- フルバイナリーツリー
- complete binary tree
- bst(binary search tree)
- heap(binary heap)
- レッドブラックツリー
- b+ tree
?アルゴリズム
- 時間、空間の複雑さ
- Sort Algorithm
- バブルソート
- Selection Sort
- Insertion Sort
- Merge Sort
- Heap Sort
- Quick Sort
- Counting Sort
- Radix Sort
- Divide and Conquer
- Dynamic Programming
- Greedy Algorithm
- Graph
- Graph Traversal: BFS、DFS
- Shortest Path
- Dijkstra
- Floyd-Warshall
- ベルマン・フォード
- ミニマムスパンニングツリー
- Union-find
- Topological sort
Contributors
References
- zzszaのDatascience-Interview-Questions
- DopplerHQのawesome-interview-questions
- JaeYeopHanのInterview_Question_for_Beginner
- WeareSoftのtech-interview