技術者・SE・プログラマ面接時の技術的な質問事項

なんてページを見つけたから、某エセプログラマが答えてみるよ><

・UNIX
・使用 OS は何か (FreeBSD/Linux/Solaris/UNIX)
Mac OSXじゃだめですか><
・パッケージ管理には何を使っているか
MacPortsとかチャレンジしたけど挫折しました><
・configure からアプリケーションをコンパイルしたことがあるか
2、3回あります。ぐぐればできます。
・fork/exec する簡単なシェルを書けるか
forkってなんですか?スプーンのお友達ですか><
・共有ライブラリとは何か
よくわかりません><
・シェルの役割を示せ
石油会社、または人間とOSとの通訳てきなものですか?><
・第一段階: コマンドラインにて ls とタイプしたとき
・第二段階: コマンドラインにて ls | sort とタイプしたとき

・言語
・Perl
Perlはほとんど触った事ありません><
・どのようなモジュールを使ってきたか
・Web フレームワークには何を使っているか
・Java
・Web フレームワークには何を使っているか
意味分かりません><
・「クラス変数/インスタンス変数/ローカル変数のうち、スレッドセーフなのはローカル変数だけである」とはどういう意味か
同じ人が複数いたらおかしくなっちゃいます><
・PHP
・Web フレームワークには何を使っているか
コーンフレークならわかります><
・Ruby
まつもとさんごめんなさい><
・C
・システムコールとライブラリルーチンの違い
・リンクリストを書けるか
ポインタがよくわからないのでむりです><
・可変長引数な関数を記述したことがあるか
・malloc(3)/realloc(3) にて、動的メモリ管理ができるか
絶対むり><
・Makefile を書けるか
ソースコード1つでもいいですか?><
・コンパイル・アセンブル・リンクとは何か

・コンピュータ基本素養
・エンコーディングとは。文字集合とは (ISO-2022-JP と JIS X 0208 を説明できるか)
両方shift-jisだと思っていました><
・RFC を読んだことはあるか。
コーヒーサーバの管理方法なら読んだ事あります><
・printf(3) と write(2) の違いは何か
・テキスト領域とは何か。スタックとは何か。ヒープとは何か。
テストで出たけど間違えました><
・ブラウザに URL を入力してから、ページが表示されるまでのステップを示せ
・BNF (拡張BNF) とは何か。簡単な例をあげよ
株でちょー儲かってるひとの事ですよね><

・データベース
・SQL経験
・WHERE 句と HAVING 句と GROUP BY 句の意味と、評価順位
Whereが最初な気がします。
・CASE・UNION・EXISTS の使用経験
しりません><
・データベース利用経験 (Oracle/MySQL/PostgreSQL/その他)
オラクルはエントリーシートだしても音沙汰無しでした><
・Oracle であれば、テーブルスペース (表領域) とは何か。エクステントとは何か。
・MySQL であれば、MyISAM と InnoDB の違い。
どっちかが書き換え用だった気がします。ぐぐればきっとわかります。
・ER図とは何か
救急救命室またはデータベースの関係図です><
・正規化とは何か
授業ノート復習させてください><
・第一正規形とは何か
・第二正規形とは何か
・第三正規形とは何か
・ACID 属性とは何か
・ヒントとして
・Atomicity(原子性)
・Consistency(一貫性)
・Isolation(独立性)
・Durability(永続性)
DBならできてあたりまえだよねーってことです><
・バックアップ/リストア経験
MyAdminでてきとーにエクスポートしてるだけです><
・レプリケーション経験
・トランザクションログとは何か (ロールフォワードとは何か)
もう忘れました><
・トリガ・ビュー・ファンクション・プロシージャ経験
・ORマッパ利用経験

・バッチ系
・CSV/固定長ファイル取込経験
・メール配信経験
phpならmail()で一発です><
・EDI連携の経験
・バッチにて途中でエラー終了した場合、トランザクションはどうすべきか
ロールバックできますか><

・セキュリティ
・外部のセキュリティ診断を受けたことがあるか
健康診断なら毎年受けてます><
・SQL インジェクションとは何か。その対策は
サニタイズ言うn(略
・XSS 脆弱性とは何か。その対策は
ユーザの入力はそのまま出しません><
・CSRF (クロスサイト・リクエスト・フォージュリ) とは何か。その対策は
GETはつかいません、Refererは調べます、シリアルつけます><
・暗号化知識
・ブロック暗号とは何か
LEGOを組み合わせて表現するんですか><
・公開鍵暗号とは何か
鍵をかけることはできても開ける事はできません><
・MD5・SHA とは何か。暗号化と一方向ハッシュの違いは何か

・HTML/Javascript/CSS
・HTML
・HTML を書けるか
w3cでエラー言われまくってもだいじょうぶですか><
・XML を書けるか
xhtmlでもいいですか><
・XHTML を書けるか
htmlのバージョンは新しければいいと思っていた時期がありました><
・DTD とは何か
xmlのきまりです><
・DOCTYPE 宣言とは何か
・「HTML 4.0 Transitional では IE は quirk モードになる」の意味がわかるか
IEなんてつかいません><
・実体参照とは何か
・META タグとは、「何の」META 情報か。
・Javascript を書けるか
・Ajax な Javascript を書けるか
prototypeつかわせてください><
・Ajax ライブラリを使ったことはあるか (jQuery/prototype.js/script.aculo.us)
jQueryだけは勘弁してください><
・DOM (Document Object Model) とは何か
javascriptつかってたらどっかで目にしました><
・getElementById を使ったことはあるか
$(id)のほうが楽です><
・appendChild でまっさらな HTML から任意の HTML を動的に生成できるか
まっさらってhtmlタグもないんですか?><
・CSS
・CSS を書けるか
どっかからのコピペです。
・padding と margin の違いは何か
外側と内側です><
・CSS Sprite とは何か
三ツ矢サイダーですか?><
・その他
・favicon とは何か
・URLエンコードとは何か
パーセントのつくアレですか><
・BASE64 とは何か

・Web アプリケーション
・セッション管理
パーミッション違うと動かないので無駄にDBつかっちゃったけどいいですか><
・デザイナとの協業経験
デザイナさん超感謝です><
・SEO
・リスティング広告組み込み経験
・Google Sitemap
・全文検索エンジン利用経験 (Namazu/Hyper Estraier/Senna/Lucine など)
なまずさん地震おこさないでください><
・n-gram と形態素解析の違いは何か
わか かり りま ませ せん ん。 ><
・負荷計測経験
SQLのjoinまちがえて鯖落としかけたことあります><
・どのような負荷計測ツールを使ったか
・クロスブラウザな Web を作成したことがあるか (IE 以外のブラウザ)
むしろIE以外のブラウザしかサポートしません><

・モバイル
・モバイルサイト構築経験
むかし毎日1枚画像更新してました><
・公式サイト構築経験
・(いわゆる) 携帯 UID とは
・画像表示に関する機種ごとの差異を述べよ
昔はgif,pngをつかいわけていました><
・HTML に関する機種ごとの差異を述べよ
HDMLって死語ですか><

・ネットワーク管理
・ルータ設定経験
・PC をセットアップし、LAN に接続できるか
ipconfigには飽きました><
・DHCP サーバがないとして、PC に何を設定すれば LAN 経由で インターネットに出られるか
IP,サブネット、ゲートウエイくらいでしょうか、あとウイルススキャンもいれましょう><
・DNSサーバ管理経験
・DNS サーバの役割は
犬のおまわりさんです><
・DNS の正引きとは何か、逆引きとは何か
・A レコードとは何か、CNAME レコードとは何か、AAAA レコードとは何か
・SPF レコードとは何か
・FTP における active/passive とは何か
FWがあるとうごかないときですか><
・telnet を起動し、HTTP/SMTP/POP3/FTP サーバとしゃべることができるか
FTPならできます、よくbinaryって打ち忘れて自爆します><
・メールサーバ管理経験(sendmail/Postfix/qmail/その他)
・携帯宛のメール送信経験
・大量メール配信経験
・マルチパート送信経験
・bounce メール処理
・foo.@exmaple.co.jp というメールアドレスが不正であることを説明せよ。
どうしてもこのメールアドレスにメールを送信したい場合の方法は。
いまどきドコモとauだけだよねー><
・traceroute の動作原理
*の連続以外見れませんでした><
・UNIX 系の traceroute と、Windows の tracert コマンドの大きな違いは何か
(ヒント: ICMP)
・NAT (NAPT) とは何か

・プロジェクト管理/構成管理
・バージョン管理ツールの使用経験 (CVS/Subversion/Git など)
cvsだけはかじったことあります><
・過去のプロジェクトでは、システムは何環境あったか (開発/テスト/本番など)
・複数の環境で整合性を取るため、どのような工夫をしたか
Google Docsべんりです><
・Wiki の利用経験
Wikipediaには毎日おせわになってます><

・インフラ管理
・Webサーバ(Apache)
・どのようなモジュールを使ったことがあるか
・バーチャルホストを設定できるか
・SSL
・SSL 対応ページを準備するまでの手順を示せ (ヒント: 秘密鍵・CSR)
まず何万もだして証明書買えません><
・負荷分散の経験
・静的 Web ページを高速化する方法を示せ
圧縮したらfirefoxで画像ダウンロードできなくなりました><
・Apache における ETag とは何か
ファイルのmd5です><
・Web サイトが重い場合、どのような手順で解決するか (できるだけ定量的な分析を)
とりあえず有料会員制にします><

なんか数分考え直したら思い出したものもあるけどとりあえずそのままにしておきます><

あと2-gramはMySQLで動かなくてハマったことがあるよ。みんなも気をつけてね><

わかっているけどわかってないふりをしているふりをしてみたけど、だれもだまされなかったよね><