技術者・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 経由で
  インターネットに出られるか
  →デフォルトゲートウェイDNSIPアドレス・サブネットマスクさえ設定すれば、出られるはず。

 ・ルータ設定経験
  →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は出来る。SMTPPOP3は自信がない。

 ・メールサーバ管理経験(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 など)
  →CVSSVNはあり。Gitはこれから。

 ・過去のプロジェクトでは、システムは何環境あったか (開発/テスト/本番など)
  →直近のプロジェクトでは開発・本番の2系統でした。

 ・複数の環境で整合性を取るため、どのような工夫をしたか
  →ちょっと意味が分からないです。

 ・Wiki の利用経験
  →あり。PukiwikiXoops


・インフラ管理
 ・Webサーバ(Apache)
  ・どのようなモジュールを使ったことがあるか
   →意識的に使ったことがあるのはmod_perlやmod_proxy・mod_rewriteとか?

  ・バーチャルホストを設定できるか
   →できる

  ・SSL
   ・SSL 対応ページを準備するまでの手順を示せ (ヒント: 秘密鍵・CSR)
   →秘密鍵・公開鍵のペアを作成。
    秘密鍵はアクセス権限を設定し、所定の位置に配置。
    公開鍵はCSRにして出力。
    CSRを外部認証局にして署名してもらった後、完成した署名済み公開鍵をローカルの所定の位置に配置。

  ・負荷分散の経験
   →DNSラウンドロビンや、Oracleの負荷分散程度しかやったことが無いです。

 ・静的 Web ページを高速化する方法を示せ
   →I/O・ネットワーク負荷の軽減
    静的コンテンツをメモリ上にロード(プロキシサーバとか?)

  ・Apache における ETag とは何か
   →初耳です。

 ・Web サイトが重い場合、どのような手順で解決するか (できるだけ定量的な分析を)
  →ネットワーク帯域の確認、データベースボトルネックの確認、Webサーバ自身の確認。
   ……ちょっと眠いので、明日にでも書きます。