1
/
5

技術面接を受ける前に確認しておくといいこと

ここで書くのは基本的なことなので、実際の面接ではもう少し複雑な問題になるかもしれません。

逆にいうと、このあたりの問題は一度は解いておいた方がいいので列挙しました。

普段ウェブの開発をしているだけでは考えたことがない場合もあるので、一度確認するといいかもしれないです。

アルゴリズム

チェックポイント

計算量, ハッシュと二分木, ソート, 再帰

計算量

計算量の話 http://qiita.com/cotrpepe/items/1f4c38cc9d3e3a5f5e9c

二分探索とは https://ja.wikipedia.org/wiki/%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2

ハッシュテーブルとは https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB

Binary Searchのコードを書いてみよう http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_4_B

Binary Searchの計算量は?

C++のSTL (Standard Template Library)の使い分け http://qiita.com/h_hiro_/items/a83a8fd2391d4a3f0e1c

rubyのArray#include?とArray#bsearchとSet#include?の挙動の違い http://pocke.hatenablog.com/entry/2014/11/27/224651

ソート

ソートについて https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%83%88

Quick Sortのコードを書いてみよう http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_6_C

再帰

再帰とは https://ja.wikipedia.org/wiki/%E5%86%8D%E5%B8%B0

メモ化の話 http://blog.h13i32maru.jp/entry/20101016/1287227174

フィボナッチ数列を解いてみよう http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_10_A

その他参考URL

Algorithms and Data Structures http://judge.u-aizu.ac.jp/onlinejudge/topic.jsp?cid=ALDS1

ex) String Search http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_14_B

ex) Multiple String Search http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_14_D

Interview Question(Algorithms) https://github.com/MaximAbramchuck/awesome-interview-questions#algorithms

ex) Ruby Algorithms https://github.com/sagivo/algorithms

プログラミングコンテストチャレンジブック https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88%E3%83%81%E3%83%A3%E3%83%AC%E3%83%B3%E3%82%B8%E3%83%96%E3%83%83%E3%82%AF-%E7%A7%8B%E8%91%89-%E6%8B%93%E5%93%89/dp/4839931992

僕は、この本の初級・中級あたりが解けるように勉強しました

Database

チェックポイント

Index ScanとSeq Scan, n+1問題, redis(インメモリデータベース), トランザクションとロールバック, 同時実行制御, SQLインジェクション

学習になるサイトリンク

Join, Group By, Orderの実行方法の確認 http://techlife.cookpad.com/entry/2016/07/06/094332

n+1問題 http://ruby-rails.hatenadiary.com/entry/20141108/1415418367

RailsエンジニアのためのSQLチューニング速会 http://engineer.wantedly.com/2015/12/17/rails-sql.html

-> Index ScanとSeq Scanの違いは

インメモリデータベース https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9

プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ http://qiita.com/awakia/items/c8ada6c8101efe2de561

トランザクション http://qiita.com/komattio/items/838ea5df68eb076e8099

同時実行制御 http://qiita.com/jshimazu/items/ce6e1f6435890ae5be46

その他参考URL

isucon5 https://github.com/isucon/isucon5-qualify

isuconはデータベースのチューニングを学ぶ上ではいい問題が多い

isucon5はデータベースがネックだったので取り組んでみると力試しになります

RDBMS解剖学

https://www.amazon.co.jp/RDBMS%E8%A7%A3%E5%89%96%E5%AD%A6-%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF-DB-Magazine-Selection/dp/4798108642/ref=sr_1_136?s=books&ie=UTF8&qid=1478595900&sr=1-136&keywords=DB

自分はこの本を読んでDBの仕組みがよく分かった

同時実行制御(postgres) https://www.postgresql.jp/document/9.4/html/mvcc.html

プラスα WAL, レプリケーション

Redis 本番障害から学んだコードレビューの勘所 http://qiita.com/haminiku/items/43bafbb9d74ef3a1f74c

テーブル設計

チェックポイント

正規化を行った設計ができるか

設計におけるメリットとデメリット

パフォーマンスを考慮した設計

実例

変更履歴を持つテーブル設計 http://qiita.com/ak-ymst/items/2e8e92f212c807bb09a1

RDSの正規化の方法と、正規化を崩す方法 http://blog.goo.ne.jp/xmldtp/e/2a35412416a6f9b56f194d69d09f94bb

SQL アンチパターン

http://qiita.com/iwata@github/items/9a47ddababd8e0a82662

Naive Trees(素朴な木) http://qiita.com/hirashunshun/items/06adf4f42f03a9f3b63d

EAV (エンティティ・アトリビュート・バリュー) http://qiita.com/deme0607/items/a89319014bc007f09f5c

プアマンズ・サーチエンジン http://qiita.com/avvmoto/items/988fa795f10cf351287a

Web関係の知識

チェックポイント

httpって実際にはどのようなデータとして送られているか?見るためにはどうする?

POSTメソッドとGETメソッドは、実際にhttpの通信の中身だとどう違うか?

レスポンスヘッダってなんのためにある?2系と3系と4系と5系の使い分けは?

リダイレクトはどんな風に起きている?

キャッシュって何が起きている?キャッシュのコントロールは、配信側でどのように行なっているか?

RESTとは何か?

セッションは何か?cookieとsessionはどのように連動しているか?

学習になるサイトリンク

WebAPIについての説明 http://qiita.com/busyoumono99/items/9b5ffd35dd521bafce47

超絶初心者のためのサーバとクライアントの話 http://qiita.com/shuntaro_tamura/items/ae55b99deb9e2a170754

参考文献

Webを支える技術 https://www.amazon.co.jp/Web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-HTTP%E3%80%81URI%E3%80%81HTML%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6REST-WEB-PRESS-plus/dp/4774142042/ref=sr_1_cc_1?s=aps&ie=UTF8&qid=1478610959&sr=1-1-catcorr&keywords=web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93

Wantedly, Inc.では一緒に働く仲間を募集しています
190 いいね!
190 いいね!

同じタグの記事

今週のランキング

久保長 礼さんにいいねを伝えよう
久保長 礼さんや会社があなたに興味を持つかも