「技術者・SE・プログラマ面接時の技術的な質問事項」やってみた

この一覧で飲み屋で飲めるねw

無精で短気で傲慢なプログラマ | 技術者・SE・プログラマ面接時の技術的な質問事項
http://68user.blog27.fc2.com/blog-entry-41.html

やってみた感想は・・・ザックリ話せるけどオペを示せといわれると厳しいな

Debian/GNU Linux が好み 別に何でもいい

    • grep/tar/find の使用経験

普通に使う

    • cron 設定経験

crontab -e ですねハイ

権限でしょ

      • ディレクトリに対する r/w/x はそれぞれどういう意味を持つか

r ファイルの存在確認権限
w そのまんま書き込み権限
x 入れる権限
だっけ・・

      • 1755・2755・4755 それぞれの意味は何か★

スティッキービットとか、忘れた

    • パッケージ管理には何を使っているか

aptitude

    • configure からアプリケーションをコンパイルしたことがあるか

y

    • 共有ライブラリとは何か

みんなで使う部品

カレントのファイル一覧

カレントのファイル一覧を昇順ソートしたものの

    • fork/exec する簡単なシェルを書けるか
      • 子プロセスが親プロセスから引き継ぐもの、引き継がないものを、それぞれ数点あげよ★

えー! わからんw

  • 言語
    • Perl
      • どのようなモジュールを使ってきたか

モジュール使ってねー、リッチなシェルとしてだけつかってた

使ってない

strutsseaserは使ったことある

    • 「クラス変数/インスタンス変数/ローカル変数のうち、スレッドセーフなのはローカル変数だけである」とはどういう意味か

マルチスレッドで組むとローカル変数以外はいろんなところから書き込みできてぶっ壊れても知らないよって意味
  

mojavi 今 symfonyとzend cakeは使ってみたい

      • PEAR で利用しているパッケージは何か

symfony あんまりpearって意識してない

      • php.ini で定義できる以下のディレクティブの違いを述べよ。★

   ・default_charset
   ・mbstring.language
   ・mbstring.internal_encoding
   ・mbstring.http_input
   ・mbstring.http_output 
   ・mbstring.encoding_translation
   ・mbstring.detect_order  
   知るか!設定するとき調べるよ

    • Ruby
      • Ruby に対する熱い思いのたけを述べよ

えー!    っすっす好きです!

え?直呼びと関数ってこと?

      • リンクリストを書けるか

ポインタを保持してグルグルグル

      • 可変長引数な関数を記述したことがあるか

そういや無いね

      • malloc(3)/realloc(3) にて、動的メモリ管理ができるか

たぶん

昔書いたけどもうかなり書いてないので、たぶん書けない

なんだっけ?w

      • 二乗を返すマクロ #define MY_POW(x) *1 の問題点は何か★

演算子の結合順番かな?
  

エンコーディングはどの図形をどのコードに割り当てるか
文字集合は何の塊をエンコードするか?

    • RFC を読んだことはあるか。

チラ見

    • printf(3) と write(2) の違いは何か

知らん

    • テキスト領域とは何か。スタックとは何か。ヒープとは何か。

テキストはプログラムが入ってるところで、
ヒープはまぁ普通メモリって呼ばれるところ
スタックは一時的なやつ

    • ブラウザに URL を入力してから、ページが表示されるまでのステップを示せ

通信してHTML受け取ってブラウザが絵にする

    • BNF (拡張BNF) とは何か。簡単な例をあげよ★

知らん

一個サンプルを選んでそいつと比べて片側に寄せて、またサンプルを選んでってやつをグルグルやる

    • O(n) とはどういう意味か

足し算で増える

    • スパム判定に使用されいているベイズの定理とは何か

知らん

知らん

多パラメータの問題を染色体にして、個体を生成する(最初はランダム)。そしてこの個体を評価関数にかけてスコアを出す。個体を多数生成して、スコアの高いもののみを抽出する。染色体を切断して個体間で交換し第二世代を作る(交差)。ここで値が短絡的な解に収束したり、無意味な値に発散しないように優性保存や突然変異を加えつつ何世代も続けるとなぜか答えが求まるというやつ

    • 有限の在庫と、それを買いたいお客様がいます。ただし 1人のお客様には必ず

2個の在庫を引き当てる必要があります (1個は NG。3個以上も NG。0個はアリ)お客様は各在庫について欲しい順に順位を付けています。在庫引き当て数と顧客満足を最大にする引き当てを求めるための方法を示せ。顧客満足の定義など不明点はおのおの考えること。
後で考える・・・たぶん条件だけ決めてあとはループで総当り作戦にすると思う

  • データベース
    • SQL経験
      • WHERE 句と HAVING 句と GROUP BY 句の意味と、評価順位★

where 条件
group 絞られた条件に対するまとめ・・・レコードを何個かまとめて1レコードにするイメージ
having ↑でまとめたやつ専用のwhere

      • CASE・UNION・EXISTS の使用経験★

case sql版switch文
union 結果と結果をガッチャンコ
exists 結果をin

一応全部やったことあるけどポスグレはサンプル程度

    • Oracle であれば、テーブルスペース (表領域) とは何か。エクステントとは何か。

知ってたけど、忘れたw

検索高速重視と、トランザクション管理

    • ER図とは何か

エンティティリレーションだから、実体とその関係性を表した図

    • 正規化とは何か
      • 第一正規形とは何か

重複項目の統合

      • 第二正規形とは何か

まぁキーでの外だしですか

      • 第三正規形とは何か

決まりきったやつをまとめる

    • ACID 属性とは何か

知らん

    • バックアップ/リストア経験

そりゃちょっとは・・・

無いね

やったことログ

    • トリガ・ビュー・ファンクション・プロシージャ・NOT NULL 以外の制約・外部参照制約の利用経験★

上記のものを使うべきか使わざるべきか (DB でやるかアプリでやるか)。また、それはなぜか。
トリガ・・・これは使わんほうがいいな
ビュー・・・フレームワーク間の吸収する層として使うことが俺は多い
ファンクションプロシージャ・・・マイクロソフト系の人に任せた
NOT NULL まーいいんじゃね
外部キーは開発中は面倒だな

    • ORマッパ利用経験

それらのフルスタックフレームワークにくっついてくるヤツ
  

  • バッチ系
    • CSV/固定長ファイル取込経験

あるね〜 苦いほど

    • メール配信経験

あるね〜 いつも文字コードでつまるんだよね つうかもうメールやめろ

    • EDI連携の経験

EDIって何だ?

ロールバック

  • セキュリティ
    • 外部のセキュリティ診断を受けたことがあるか

無い

    • SQL インジェクションとは何か。その対策は

パラメータにSQLを制御する文字を埋め込んで自分の意図したSQLをアプリに投げさせる

攻撃対象者が普通に使うサイトにスクリプトを仕込んだりして、そのドメイン対象の情報を抜き取ってクロスサイトで情報を抜くワザ

    • CSRF (クロスサイト・リクエスト・フォージュリ) とは何か。その対策は

サイトを跨って使用者の意図しないリクエストを投げる。意図しないだけであって、正規のリクエストなのがポイント

  • 暗号化知識
    • ブロック暗号とは何か

普通の鍵のやつかな・・・

公開鍵と秘密鍵というペアの鍵を用いる。公開でかけたものは秘密じゃないとあけれない

    • MD5・SHA とは何か。暗号化と一方向ハッシュの違いは何か

ハッシュアルゴリズム
暗号化は暗号を解除すると読める。ハッシュはあるデータのダイジェスト値なので解除しても元の値に戻らない

    • 日々のセキュリティ情報をどこから入手しているか★

特に無いけど ハテブとか

Google ストリートビューでいろいろいってた人 ブログは読んでます。

かける。けどマークアップセンスは自信なし

      • XML を書けるか

かける

かける

      • DTD とは何か

XMLの定義。どんなタグがあって、そのタグはどういう風に使えるかみたいなやつ

      • DOCTYPE 宣言とは何か

何に関するXMLなのかを宣言するヤツ

      • 「HTML 4.0 Transitional では IE は quirk モードになる」の意味がわかるか

DOCTYPEでHTML 4.0 TransitionalしていするとIEだと互換モードになってCSSとかの解釈がメチャクチャですよ

XML中に文字を直接表記するんじゃなくて外にある辞書の参照を示す時に使うやつ

      • META タグとは、「何の」META 情報か。

HTML文書?

書けるね

書けるね〜

あるね〜 全部ある

タグをオブジェクトとして扱ったものかな?

    • getElementById を使ったことはあるか

死ぬほど

    • appendChild でまっさらな HTML から任意の HTML を動的に生成できるか

難しい部分もあるけどたぶんできる

書けるね〜

    • padding と margin の違いは何か

余白と間隔

    • CSS Sprite とは何か

1個の画像ファイルに複数の画像を入れて、CSSで表示領域を区切ってだし分けるクソテク。超アクセス負荷が高いサイトとかが使う

16x16のブックマークで出るやつ

URLに仕込めないデータを仕込めるように変換すること
gooのやつはおかしい・・・

バイナリをアスキーに変換するやつ

  • Web アプリケーション
    • CSVファイルをアップロードし、DB に格納するアプリケーションを作成できるか★

できるねー

    • CSVファイルをダウンロードするアプリケーションを作成できるか★

できるねー

    • 動的画像生成経験★

ImageMagicでほんの少し

    • PDF生成経験★

あるね〜

    • セッション管理

あるね〜 ってかセッションってかなり意味広いよね

    • デザイナとの協業経験

あるね〜

普通にサイト作るだけならね

あるね〜

っで?

無い

文字の連続と、辞書バラバラ

    • 負荷計測経験
      • どのような負荷計測ツールを使ったか

デバッガとプロファイラとかだけだな・・・こりゃ負荷って言わないか

日常です。とりあえずFirefoxで完璧なようにして後は別のブラウザでちゃんと見れるようにするのが定番

  • モバイル
    • モバイルサイト構築経験

あるね〜

    • 公式サイト構築経験

あるね〜

    • (いわゆる) 携帯 UID とは

???

    • 画像表示に関する機種ごとの差異を述べよ

解像度とかもうイロイロ、

    • HTML に関する機種ごとの差異を述べよ

ありすぎなのでXHTMLで書いて属性で適当にあててる、CSSは使えないつうかドコモ糞

  • ネットワーク管理
    • Windows または UNIX マシンを、LAN に接続できるか

できるねー

    • DHCP サーバがないとして、PC に何を設定すれば LAN 経由でインターネットに出られるか

前提条件わかりにくすぎだけど、IPだけが問題なら固定にすりゃいいんじゃね

    • ルータ設定経験

あるけどご家庭レベル

会社のドメイン管理で設定しただけ

    • DNS サーバの役割は

名前からのIPアドレス引き

      • DNS の正引きとは何か、逆引きとは何か

名前→IP
IP→名前  

      • A レコードとは何か、CNAME レコードとは何か、AAAA レコードとは何か

普通のipアドレス変換のやつじゃなかったっけ

      • SPF レコードとは何か

知らん

      • FTP における active/passive とは何か

ファイル情報を取りに行くか、送ってもらうかかな

      • telnet を起動し、HTTP/SMTP/POP3/FTP サーバとしゃべることができるか

helo

管理の経験は無いな

      • 携帯宛のメール送信経験

ある〜 これに関してはau微妙 なんかサーバ変

      • 大量メール配信経験

無いな

      • マルチパート送信経験

あるな  

無いな

      • foo.@exmaple.co.jp というメールアドレスが不正であることを説明せよ。どうしてもこのメールアドレスにメールを送信したい場合の方法は。

@の直前ピリオドっていいうドコモ仕様ですな。ダブルクォートで括るといけるんだっけ?こんなアドレスには送らないのが世のため 送らなくてヨシ

      • traceroute の動作原理

ping打ちまくり

      • UNIX 系の traceroute と、Windows の tracert コマンドの大きな違いは何か

え〜 経路情報をみるやつだけどwindowsとの違いは知らん

      • NAT (NAPT) とは何か

ネットワーク間でIPの変換するやつ

    • プロジェクト管理/構成管理
      • バージョン管理ツールの使用経験 (CVS/Subversion/Git など)

CVSSVN Git未経験

      • 過去のプロジェクトでは、システムは何環境あったか (開発/テスト/本番など)

SVNが多い

      • 複数の環境で整合性を取るため、どのような工夫をしたか

声かけw

      • Wiki の利用経験

会社で 自分でも使ってる。 プロジェクトはtrac

  • インフラ管理
    • Webサーバ(Apache)
      • どのようなモジュールを使ったことがあるか

え〜 普通のw

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

できるね〜

      • SSL 対応ページを準備するまでの手順を示せ (ヒント: 秘密鍵CSR)

SSL対応にして鍵生成して登録して、証明書置く

      • 負荷分散の経験

無い

      • 静的 Web ページを高速化する方法を示せ

知らん 質問ザックリ過ぎ

      • Apache における ETag とは何か

キャッシュ?

      • Web サイトが重い場合、どのような手順で解決するか (できるだけ定量的な分析を)

いつもなのか?たまになのか、ネットが遅いのかサーバが遅いのか、ぐらいやったらあとはケースバイケース

*1:x)*(x