面接中に候補者のHtml / CSSの知識を評価するにはどうすればよいですか?[閉まっている]


44

私はHtml / CSSの仕事に来る人々の能力を評価するためにいくつかの良いインタビューの質問を決定しようとしていますが、そのトピックは非常に広範であり、誰かのHTML / CSSの知識。

面接中に候補者のHtml / CSS能力を評価するには、どのような質問をすればよいですか?

理想的には、いくつかの質問をしてから、実際の生活シナリオを提示して戦いたいと思います。


2
あなたの作品を見せてもらえますか?それは良いものでしょう。
ジェフ

確かに、良い例のために、誰でも自宅でコードをコピー&ペーストできます。彼らにその場で質問に答えさせることで、彼らが自分で知っていることを知ることができます。
webnoob

1
@レイチェル-編集と再オープンに感謝します。私はこのサイトにとって良いリソースだと思います。
webnoob

10
質問する内容がわからない場合は、オンラインテスト(例:http : //tests4geeks.com/test/html-css)を使用して、候補者のスキルを検証してください。その後、彼にいくつかのhtmlページのコードを書くよう依頼することができます。たとえば、多くのサブアイテムとフッターが下部にあるトップメニューのページ。
ジョセフ

彼らがIEについてどう思うかを尋ねる。些細でないことをしなければならなかった人は誰でも、それがPITAであることを知っています。;)真剣に、彼らが遭遇したブラウザのバグを尋ねることができます。
ベンサーリー

回答:


87

HTMLとCSSは、いくつかの理由でインタビューするのが困難です。

  1. たとえばプログラミング言語と比較すると、それらは基本的すぎます。

  2. 彼らは仕事の文脈に大きく依存しています。例:

    • Googleスケール、非常に高速で最適化されたWebサイトを作成する場合、仕事のためにインタビューする人々はCSSスプライトを無視できません。

    • XHTML W3Cの有効なWebサイトを作成する場合、候補者がXHTML 1.0とXHTML 1.1の違い、またはの必須属性<img/>などを知っていることを確認する必要があります。

    • ハッキングに満ちたひどいWebサイトを作成する場合は、インタビューする人々に、そのようなハッキングをどのように行うか、どのブラウザーに対して異なるCSSを提供するかなどについて質問する必要があります。

  3. それが純粋なHTMLとCSSの仕事であれば、その人は一方でデザイナーと、他方で開発者と協力しなければなりません。彼らはHTMLとCSSを知っている必要がありますが、もっと価値があるのは、それらの人々と対話し、デザイナーのニーズ、開発者の要件、HTMLとCSSの制約の両方を理解する能力です。

    たとえば、JavaScript開発者が後でインタラクティブ機能を簡単に追加できるような方法でHTMLを構成する方法を知っている必要があります。


いくつかの基本的な質問から始めてください。

お気に入りのブラウザは何ですか?

その人が「Internet Explorer」と答えたら、すぐにインタビューを停止します。そのような人は必要ありません。

いいえ、冗談です。答えは無関係です。代わりに、次を尋ねることができます。

お気に入りのブラウザで使用するデバッグツールについて教えてください。

主にChromeを使用して、毎日Developer Toolsを使用しています。これらのツールを使用すると、次のことができます。

  • ページから行われたリクエストを表示し、

  • ページと関連リソース、特にDNSルックアップ、待機時間、受信時間の読み込みにかかる時間を調べ、

  • 送信された要素のヘッダーとキャッシュインジケーターを調べ、

  • DOMを表示して、CSSセレクターがどのように適用されるかを調べます。

また、高いスケーラビリティを必要とするWebサイトの最適化のチェックリストとして機能するYSlowを使用します。YSlowは、サーバーが正しく構成されている(正しいヘッダーを送信するなど)かどうかを判断する際にも役立つツールです。

Firefoxでは、Chromeの開発者ツールに非常によく似たツールであるFirebugを使用します。開発者用ツールはInternet Explorerの新しいバージョンでも利用でき、IE7からIE10への互換性ビューに切り替えることもできます。この最後の機能は非常に役立ちます。これがないと、レガシーテストのためだけに複数の仮想マシンをインストールするか、Litmusなどの有料サービスをより頻繁に使用する必要があります。

<dl/>タグについて教えてください。このタグの使用目的は何ですか?実際にはどのように使用されていますか?この拡張された使用法についてどう思いますか?

ここでは、<dl/>1つのキー<dt/>を1つまたは複数の値に関連付けて、辞書用であると説明できるようにする必要があります<dd/>。このタグの主な使用法は純粋にセマンティクスに関連していましたが、実際にはテーブルを置き換えるために広く使用されていました。良い例はPHPBB3です。これは、テーブルがページのレンダリングを遅くしている場合には良いことですが、注意して使用する必要があります。を使用せずにコンテンツを説明するリスト<dl/>

固定レイアウトと流動レイアウトの違いは何ですか?それぞれの長所と短所は何ですか?

固定レイアウトには、要素の幅が事前定義されています。流体レイアウトの要素は、ページの幅に依存します。

固定レイアウトにより、特にフル幅のグラフィックが多数ある場合に、ページの設計が容易になります。グラフィックスがなくても、正確なケースのみを管理するため、さらに簡単です。たとえば、Programmers.SEは固定レイアウトのWebサイトであり、質問と回答を表示する列のサイズは常に同じです。この列に流動的なレイアウトを使用すると、問題が発生します。小さな画面では、行が短すぎるためにテキストが判読できなくなりますが、大きな画面では、行が非常に大きくなるため、読めないでしょう。

固定レイアウトの問題は、いくつかの最も使用されている解像度ではうまく機能するが、それ以外の場合は多かれ少なかれ失敗することです。非常に大きくて広いモニターの採用と、小さなモバイルデバイスでのインターネットの使用の増加により、特に重要になります。

流動的なレイアウトはそれを助けますが、そのようなウェブサイトの設計はより困難です。適切に管理されていないプロジェクトの一部のシナリオでは、これにより、HTMLおよびCSSのハック、大きなページ、保守性の低下、開発中のコストの増加、期限の遅れが発生する可能性があります。

流動的なレイアウトのページで、テキストの列が大きくなりすぎて読みにくくなる状況を回避するにはどうすればよいですか?

max-widthプロパティを使用して、テキストゾーンの幅を制限できます。

このコードについてどう思います<p color="Red" align="Center">Text here</p>か?

このコードには、HTML内にプレゼンテーションロジックを混在させる欠陥があります。プレゼンテーションロジックは、いくつかの理由でCSSに配置する必要があります。

  • 懸念事項とクリーンなコードの分離に役立ちます。つまり、後でメンテナンスが安くなり、
  • スタイルをページ間で再利用できるようにします。これにより(保守性の問題以外)、Webサイト全体で同じスタイルを使用していることを確認できます。
  • CSSファイルがキャッシュされるため、帯域幅の削減に役立ちます。

そのような基本的な質問をいくつかした後、さらにトリッキーな質問をすることができます。

単一のセレクターでターゲットにできない複数の要素に色やフォントが適用されている場合、CSSで色やフォントが重複しないようにするにはどうすればよいですか?欠点はありますか?

これを行うには、SassやLESSなどのCSSプリプロセッサーを使用します。これらは、後でスタイルで使用できる変数内のスタイルの色、フォント、およびその他の部分を定義できます。

CSSプリプロセッサの欠点は次のとおりです。

  • ブラウザで最新のCSSコードを使用するために、開発および展開のワークフローを変更する必要がある場合があります。

  • それらは少数の開発者のみが知っているため、新しい人が後でプロジェクトに参加したり、プロジェクトを維持したりするのが難しくなります。

  • SassまたはLESS用の優れたIDEも高速なIDEもありません。また、最も人気のあるIDE内での統合はかなり残念です。

hrefこの画像がHTTPとHTTPSの両方を介してアクセスできるWebサイトに表示される場合、CDNにある画像の値の例を教えてください。

HTTPSでは、呼び出されたすべてのリソースもHTTPSである必要があるため(そうでない場合、多くの場合、ユーザーにセキュリティ警告が表示されます)、リンクをとして指定することはできませんhttp://cdn.example.com/image.png。画像に適切にリンクするには、//cdn.example.com/image.png使用する必要があります。ブラウザは、コンテキストに応じて、http:または先頭に追加さhttps:れます。

Webサイト上のページのサイズとリクエスト数を最適化できず、コンテンツを変更したりAJAXを追加したりできない場合、Webサイトが高速であるという印象をユーザーに与えるにはどうすればよいですか?HTMLの観点から何が関係​​しますか?

HTTP 1.1が使用される場合、ページはチャンクされる場合があります。これは、最初の部分がより速く表示され、Webサイトが実際よりも速いという印象を与えることを意味します。チャンク転送エンコードはHTTP 1.0では不可能です。つまり、この場合は何もすることがありません。

チャンク化されたコンテンツを提供できるようにするには、HTMLの観点から要素を並べ替えて、最も重要な要素をファイルの先頭に配置する必要があります(ページの先頭に表示する必要があるわけではありません)。たとえば、eコマースWebサイトでは、ユーザーが製品の詳細を確認したい場合、最初のチャンクに<head/>と製品の詳細を含めることができます。次のチャンクには、ウェブサイトのロゴ、メインメニュー、著作権などの主要な要素を含めることができます。最後に、最後のチャンクには「これを買った人も買った」セクション、製品のコメント、評価、 「Facebookで共有」など


最後に、実世界のシナリオで作業するように候補者に依頼できます。以下の最も簡単なものから、CSSスプライトやその他の高度な最適化手法、ブラウザーの不整合などに対処しなければならない複雑なシナリオまで、何でもかまいません。

2つのゾーンを持つXHTMLページを作成してください:左のゾーンにはリストがあり、右のゾーンにはテキストがあります。2つのゾーンは、ページの最上部から最下部まで伸びる垂直線で区切られています。リストとテキストのサイズはさまざまですが、どれが最大の高さになるかを予測することはできません。<table/>s は使用できません。

実際、それは非常に簡単ですが、高さについて考える反射神経があるかどうかを示します。経験の浅い候補者はfloat:leftゾーンとゾーンを作成しますborder-left:solid 1px #ccc;が、左側のゾーンに境界線を追加し、2つの境界線が同じ場所になるように拡張することを忘れます。


5
クール、私は本当にいくつかのことを学びました:)。
ラドゥムルゼア

23
+1、その人が「Internet Explorer」と答えたら、すぐにインタビューを停止します。
マフィンマン

10Kが好き...私はそれが大好き
ラマラオM

20

CSSについて質問するいくつかの質問を次に示します。

  1. CSSボックスモデル。マージン、パディングなど。IEモデルとW3Cモデル。どうすれば2つを切り替えることができますか?彼らの利点と欠点は何ですか?
  2. CSSポジショニング。要素が「フロー内」および「フロー外」にあるとはどういう意味ですか
  3. inline-blockおよびその他の表示値。違いdisplay: none;visibility: hidden; (これはCSSへの新しい人々のために良いと簡単な質問です)
  4. inline-blockvs floatレイアウト用。
  5. セレクター。
  6. CSSがリセットされます。なぜ必要なのか、何を達成するのか?
  7. メディアクエリとレスポンシブデザイン。
  8. スタイルを整理する方法と、セレクターの数を小さく保つ方法。LESS、Sass、およびその他のCSSプリプロセッサ。オブジェクト指向のCSS。

HTMLに関するいくつかの質問:

  1. Doctypeおよびブラウザーモード。
  2. なぜ一部のタグは(他のものより好ましいemi例えば)?
  3. HTMLとCSSを管理しやすく、維持しやすくするために従うべき基本原則は何ですか?

一般に、CSSは多くの人が理解し、効果的に使用するのが難しい領域であるため、CSSをより重視しています。私は自分の履歴書に「CSS」を入れているが、それに関する質問に答えることができない多くの候補者に会います。ほとんどの人は、「いやいや、CSSはそれを扱うのには十分ですが、それについて話すのには十分ではないことを知っています」と言っています。

時には、単純なタスクを与えて、インタビューする人が完了することをお勧めします。たとえば、複数の画面サイズをサポートし、それに応じて調整するレイアウトとブロックスタイルを使用したシンプルなページを設計します。約1〜2時間かかり、候補者は自分が何をしているのか、その理由を説明する必要があります。

インタビューで頑張ってください!


+1。優れた答え、私のものよりもはるかに完全で、短く、よく組織されています。
アルセニムルゼンコ

8

ライブインタビューを行う場合、最良の方法は、開発者にhtml / cssコードを記述するよう依頼することです。

例(実際の開発では非常に一般的)。開発者にページのhtml / cssコードを記述してもらいます:

  1. 流体の幅。
  2. 高さ100pxのヘッダー。
  3. ヘッダーの右隅にあるログインボタン
  4. 幅100ピクセル、高さ200ピクセルの左側パネルと右側パネル。
  5. 記事テキストの中央パネル。
  6. 常に下部にあるフッター。記事に1行ある場合でも。

UPD:もちろん、開発者にdivのみ(テーブルなし)を使用してコードを記述するよう依頼してください。

次のようになります。

css / htmlテスト

しかし、ライブインタビューの前に、候補者をオンラインでテストすることをお勧めします。なぜなら、すべての候補者に時間を費やすよりも、オンラインで候補者をテストし、優秀な開発者だけを面接に招待する方が簡単だからです。


1
現状では、テスト要件は不完全であることに注意してください。実際には、開発者はテーブルレイアウトを使用できるかどうかposition:absolute、許可されているかどうかなどを知っています。
ArseniMourzenko

4

私はいくつかのWebデザイナーインタビューに参加しました。私たちがやったことは、非常にシンプルな見た目のブログレイアウトを紙に印刷し、候補者にページ上でHTMLやCSSを10分程度書き留めて、彼らがそれをどのようにコーディングするかについての基本的な考えを教えてください。これにより、誰かが実際にCSSを知っているかどうかがわかります。私たちは、フロート対テーブルなどの基本的なものを探していましたが、それは決して完璧である必要はないと説明しました。

多くの人がCSSの長年の経験を主張しましたが、CSSを書き出すように迫られたとき、彼らは " layout: floating; direction: up;"または他のそのようなジビリッシュのようなワイルドな推測で書いていました。1つ以上の「CSS Ninja」では、構文が正しくありませんでしたdiv(margin=5)。それは、私にとって非常に目を見張るものでした。インタビューで何人の人が嘘をついているかを見るのです。また、CSSについて嘘をつくのは一見簡単なコーディングよりも一見簡単です。あなたはCSSについてのことを知ることができませんでしたが、いくつかのグーグルを行い、かなり迅速に適切な用語を投げることができます。たとえば、OOPのような高レベルの概念では、これを効果的に行うことはできません。


2

5分でHTMLタグまたはCSSプロパティをリストする必要があるオンラインテストがあります。

これは完全なテストではありませんが、候補者がHTML / CSSに十分に慣れているかどうかを知ることができます。

質問については、サンプルコードを使用してテストを行い、構文/構造エラーの検出を依頼することができます。

実際のシナリオに関しては、候補者があなたの会社で何に取り組むかによります。フロントエンドの開発者だけが必要な場合は、ランダムなトピックに関するWebサイトのデザインを依頼できます。


1
これらはかなり無関係で、簡単にゲーム可能です。どんなばかでも、数日でそれらのリストを暗記して、試験をエースできます。
-tdammers

私が言ったように、それは完全な証拠ではありませんが、あなたのコメントは、候補者が事前にテストを知っている限り、どのテストにも適用できます。
XGouchet

フールプルーフ* :
クラッカー

これらのテストは恐ろしい>キーボードを
叩く

1
これは非常に有益なテストではありません。HTML/ CSS / JSを何年もプログラミングしてきたので、すべてのタグに名前を付けることはできません。私が何年も使用していないタグのリストは、私が持っているものよりも長いです!
ロブギボンズ14年

2

プログラミング言語とマークアップ言語に適用できるテストの1つのタイプは、コードレビューです。構文エラー、論理エラー、コーナーケース、間違いなく悪いスタイルが混在した小さなサンプル(20または30行)を作成します。次に、候補者に疑わしいと思われるものを特定するように依頼します。

この種のテストを正しく使用することが重要です。面接の質問と同様に、候補者がタスクにアプローチする方法が重要であり、結果だけではありません。

テストを投稿するつもりはありませんが、これをCSSに適用するためのヒントをいくつか示します。

  • 構文エラー:いくつかのセミコロンがありません。ボーナスとして、いくつかのオプション(議論可能なスタイル)を見逃して、候補者がコメントするかどうかを確認できます。
  • 論理エラー:プレフィックスなしのプロパティの後にプレフィックス付きプロパティを配置します。これにより、CSS3に精通しているかどうかもテストされ、標準の開発方法に関する議論を引き起こすことができます。
  • コーナーケース:たとえば、3つの値を持つマージン-それが可能であることに気づいていない人がどれだけいるかに驚かれることでしょう。候補者がコメントしない場合、無知ではなく知識から候補者が無視したことを確認するために、どのように解釈されるかを尋ねることができます。
  • 別のコーナーケース:お気に入りの2つまたは3つのIE7バグを実行します。これにより、戦闘傷跡のある人(少なくとも1つを見つける必要がある人)と、未経験の人またはWebkitのみの人が区別されます。
  • スタイル:過度の特異性、行方不明empx面接のための構文を学び、など誰かが、おそらくこれらの多くをキャッチしません。

0

個人的な経験から、他の開発者と協力して、HTMLとCSSに関する質問は、実際に何をしているのかを知っている人から何を話しているのかを知っている人を選別しないと思います。

会社のニーズの現実的な経験に基づいた模擬テスト/プロトタイプをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.