技術者・SE・プログラマ面接時の技術的な質問事項の続き
スキーで日が空いてしまいましたが、一応全部やろうかと。
あまり時間が無いので、手早く。
・Web アプリケーション
・CSVファイルをアップロードし、DB に格納するアプリケーションを作成できるか★
・CSVファイルをダウンロードするアプリケーションを作成できるか★
→出来る。
・動的画像生成経験★
→GDなら使ったことがあるレベル。
・PDF生成経験★
→FOPですね。分かります。(実際自分はXSL:FOがかけないので自分はイマイチですが。)
・セッション管理
→ある。
・デザイナとの協業経験
→協業……したいです。デザイナさんと仲良くなりたい。
・SEO
→Googleの中の人のブログから発信された、論文は読んだことがある。
・リスティング広告組み込み経験
→ない。
・Google Sitemap
→Sitemap……検索エンジンに小見出しを表示させるアレですね。やったこと無いです。
・全文検索エンジン利用経験 (Namazu/Hyper Estraier/Senna/Lucine など)
・n-gram と形態素解析の違いは何か
→n-gram = n文字区切りにして索引を構築
形態素解析 = 名詞・形容詞・助詞等に分割していく手法
形態素解析って分割までだと思ってたんですが、それ以上に何かやるんですかね?
・負荷計測経験
・どのような負荷計測ツールを使ったか
→JMeter・自作の負荷計測ツール等
・クロスブラウザな Web を作成したことがあるか (IE 以外のブラウザ)
→あまり意識したことは無い。W3Cに準拠してればいいんじゃないかなと。
あとはAjaxライブラリが吸収してくれれば。原理を知らないのは問題かもしれないけど。
・モバイル
→そもそもまともな携帯を使ったことが無いのでパス。
・モバイルサイト構築経験
・公式サイト構築経験
・(いわゆる) 携帯 UID とは
・画像表示に関する機種ごとの差異を述べよ
・HTML に関する機種ごとの差異を述べよ
・ネットワーク管理
・Windows または UNIX マシンを、LAN に接続できるか
→出来る。
・DHCP サーバがないとして、PC に何を設定すれば LAN 経由で
インターネットに出られるか
→デフォルトゲートウェイとDNSとIPアドレス・サブネットマスクさえ設定すれば、出られるはず。
・ルータ設定経験
→Linux上のiptablesとかでよければ。IOSとかはちょっと触った程度。
・DNSサーバ管理経験
・DNS サーバの役割は
・DNS の正引きとは何か、逆引きとは何か
・A レコードとは何か、CNAME レコードとは何か、AAAA レコードとは何か
Aレコードがドメイン名→IPアドレス、CNAMEレコードが別名をつける、AAAAはAレコードのIPv6版……だっけ?
・SPF レコードとは何か
豚肉のブランド……いや、よく知らないです。
・FTP における active/passive とは何か
→active……クライアント側がデータ転送用ポートを開放
passive……サーバ側がデータ転送用ポートを開放
・telnet を起動し、HTTP/SMTP/POP3/FTP サーバとしゃべることができるか
→HTTP・FTPは出来る。SMTP・POP3は自信がない。
・メールサーバ管理経験(sendmail/Postfix/qmail/その他)
→qmailはやったことあり。
・携帯宛のメール送信経験
→なし。Gmail経由させるので。
・大量メール配信経験
→あり。ちょっと昔だから、あんまり参考にならないかも。
・マルチパート送信経験
→あるような、ないような……ちょっと思い出せないです。
・bounce メール処理
→なし。
・foo.@exmaple.co.jp というメールアドレスが不正であることを説明せよ。
どうしてもこのメールアドレスにメールを送信したい場合の方法は。
→@の前に.(ピリオド)をつけるのは仕様的に間違っている。
対策は……携帯から送るとか?w
・traceroute の動作原理
・UNIX 系の traceroute と、Windows の tracert コマンドの大きな違いは何か
(ヒント: ICMP)
→知らない
・NAT (NAPT) とは何か
→Network Address (Port)Translation
内部のネットワークアドレスと外部のネットワークアドレスを変換して通信する処理。
・プロジェクト管理/構成管理
・バージョン管理ツールの使用経験 (CVS/Subversion/Git など)
→CVS・SVNはあり。Gitはこれから。
・過去のプロジェクトでは、システムは何環境あったか (開発/テスト/本番など)
→直近のプロジェクトでは開発・本番の2系統でした。
・複数の環境で整合性を取るため、どのような工夫をしたか
→ちょっと意味が分からないです。
・Wiki の利用経験
→あり。PukiwikiとXoops
・インフラ管理
・Webサーバ(Apache)
・どのようなモジュールを使ったことがあるか
→意識的に使ったことがあるのはmod_perlやmod_proxy・mod_rewriteとか?
・バーチャルホストを設定できるか
→できる
・SSL
・SSL 対応ページを準備するまでの手順を示せ (ヒント: 秘密鍵・CSR)
→秘密鍵・公開鍵のペアを作成。
秘密鍵はアクセス権限を設定し、所定の位置に配置。
公開鍵はCSRにして出力。
CSRを外部認証局にして署名してもらった後、完成した署名済み公開鍵をローカルの所定の位置に配置。
・負荷分散の経験
→DNSラウンドロビンや、Oracleの負荷分散程度しかやったことが無いです。
・静的 Web ページを高速化する方法を示せ
→I/O・ネットワーク負荷の軽減
静的コンテンツをメモリ上にロード(プロキシサーバとか?)
・Apache における ETag とは何か
→初耳です。
・Web サイトが重い場合、どのような手順で解決するか (できるだけ定量的な分析を)
→ネットワーク帯域の確認、データベースボトルネックの確認、Webサーバ自身の確認。
……ちょっと眠いので、明日にでも書きます。