ミームにならないための方法 "backend developer doing frontend"
おめでとうございます! あなたはフロントエンド開発者として面接に行くことにしました。セマンティックタグ、ボックスモデル、divの中央揃えの方法については、すでにご存知のことと思います(ネタバレ:まだそれほど簡単ではありません😅)。
しかし、正直に言いましょう。「CSSを勉強した」と「CSSの面接を受けた」の間には、痛み、苦しみ、「BFCとは何か知っていますか?」という質問の宇宙があります。

HTML:「これは単なるタグです。うまくいかない可能性はありますか?」
1. セマンティクスは哲学ではなく、タグに関するものです
質問: <div> と <section> の違いは何ですか?なぜセマンティクスが必要なのですか?
知っておくべきこと:
セマンティックタグ(<article>, <section>, <nav>, <header>, <footer>, <aside>)は、コードを「より美しく」見せるだけではありません。
彼らは:
SEOを改善する(検索エンジンは構造を好む)
スクリーンリーダーが利用できるサイトを作る
開発者がコード全体を読まなくても構造を理解できるようにする
<!-- Плохо: --><div class="article"><div class="header">Заголовок</div><div class="content">Контент</div></div>
<!-- Хорошо: --><article><header>
<h1>Заголовок</h1></header><section>Контент</section></article>「どこにでも <div> を使用することは、すべての変数に data1、data2、data3 という名前を付けるようなものです」と言われていることを覚えておいてください。技術的には機能しますが、同僚はあなたを嫌うでしょう。
2. HTML5の機能:キャンバスとビデオだけではない
2025年のトップクエスチョン:
<canvas>と<svg>の違いは何ですか?データ属性とは何ですか?なぜ必要ですか?
localStorageとsessionStorageの違いは何ですか?
canvas vs svgに関するクイックアンサー:
<canvas>— 複雑なアニメーションやゲーム用のラスターグラフィックス<svg>— アイコンとスケーラブルな要素のためのベクターグラフィック
データ属性 — あなたの個人的なカスタムストレージ属性:
<article data-post-id="12345" data-category="frontend"><!-- Можно читать через JS: article.dataset.postId --></article>3. フォーム:単なる入力以上のもの
質問: HTML5 にはどのような新しい入力タイプが追加されましたか?
インタビューアーのインプレスへの回答:
type="email"— メールの検証type="tel"— 電話番号(モバイルキーボードに最適化されています)type="date",type="time"—ネイティブの日付ピッカーtype="range"— スライダーtype="color"— カラーピッカーrequired,pattern,min,max— JSなしの組み込み検証!
<input type="email" required
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"
placeholder="your@email.com">4.ボックスモデル:基本の基本
質問: CSSボックスモデルとbox-sizing: content-boxとborder-boxの違いを説明してください。
回答(一度にすべてを覚えてください):
ボックスモデルは以下で構成されています。
Content — コンテンツ自体
Padding — 内側のインデント
Border — 境界線
Margin — 外側のインデント
/* content-box (default, но неудобно) */.box {
width: 200px;
padding: 20px;
border: 5px solid;
/* Итоговая ширина: 200 + 20*2 + 5*2 = 250px */
}
/* border-box (используют все адекватные люди) */.box {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 5px solid;
/* Итоговая ширина: ровно 200px */
}2026年に* { box-sizing: border-box; }を使用していない場合は、前世紀に立ち往生している可能性があります🦕
5. Flexbox vs Grid:永遠の戦い
質問: FlexboxとGridはいつ使用しますか?
シンプルなルール:
Flexbox — 1次元レイアウト(行または列)
グリッド— 2 次元(行と列を同時に)
ナビゲーション用のフレックスボックス:
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
}ギャラリーのグリッド:
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}Flexboxは、要素を整列させたいときに使います。グリッドは、フロートやポジションとの戦いをやめるときに使います。

6. CSSの特異性:なぜ私のスタイルが適用されなかったのか?!
質問: CSSの特異性とスタイルの優先順位を説明してください。
強さの順位(弱いものから強いものへ):
タグセレクター:
div(0,0,1)クラス:
.button(0,1,0)ID:
#header(1,0,0)インラインスタイル:
style="..."(1,0,0,0)!important— 核ボタン(絶対に使用しないでください!)
/* Специфичность: 0,0,1 */p { color: blue; }
/* Специфичность: 0,1,0 */.text { color: red; }
/* Специфичность: 0,1,1 */p.text { color: green; } /* Этот выиграет! */
/* Специфичность: 1,0,0 */#content { color: purple; }
/* Если добавить !important — всё сломается */p { color: orange !important; } /* НЕ ДЕЛАЙТЕ ТАК */7.疑似クラスと疑似要素の違いは何ですか?
質問は常に行われます!
疑似クラス(:) — 要素の状態:
a:hover { color: red; }
input:focus { border: 2px solid blue; }
li:nth-child(2) { background: yellow; }疑似要素(::) — 仮想要素:
p::before { content: "📌 "; }
p::after { content: " ✓"; }
::selection { background: yellow; }ライフハック: 1つのコロンは状態、2つは要素を表します。
8. 適応性: 2026年のモバイルファースト
質問: フレームワークなしでレスポンシブデザインを実装する方法は?
現代的なアプローチ:
/* Mobile-first: базовые стили для мобилок */.container {
padding: 10px;
font-size: 14px;
}
/* Для планшетов */@media (min-width: 768px) {
.container {
padding: 20px;
font-size: 16px;
}
}
/* Для десктопов */@media (min-width: 1024px) {
.container {
max-width: 1200px;
margin: 0 auto;
padding: 40px;
}
}
BFC (ブロックフォーマットコンテキスト): ハードコアユーザー向け
中級者/上級者向けの質問: BFC とは何か、どのように作成するか
簡単に言うと:
BFCは、要素が独自のルールに従って相互作用する、レンダリングの分離された領域です。
作成時:
overflow: hidden/auto/scroll(visibleではありません)display: flow-root(最新の方法!)position: absolute/fixeddisplay: flex/grid親float: left/right
/* Проблема: плавающий элемент вываливается из контейнера */.container {
border: 2px solid black;
}
.float-item {
float: left;
width: 200px;
}
/* Решение: создаём BFC */.container {
overflow: hidden; /* Старый способ *// * または */display: flow-root; /* 最新の方法 */
}🎓 実践はどうですか?
理論は素晴らしいですが、面接で練習をしないと、divを中央に配置しようとするバックエンド開発者のように感じるでしょう。
ここで助けに来るのは コディック — プログラミングを学ぶためのモバイルアプリケーション。外出先でもHTMLとCSSを学ぶことができます。地下鉄、コーヒーショップでの待ち時間、昼休みなど、どこでもコーディングブートキャンプに変身できます!
✅ インタラクティブなレッスン
実際のコード
✅アプリでの練習
パソコンは必要ありません!
✅ 進捗状況を追跡中
自動的に
✅ レベル別の課題
初心者からプロまで
そして、私たちの Telegramコミュニティ! 🚀
この場所は、
📚 毎日役立つ投稿が公開されます
💬 質問をして助けを得ることができます
🔥 面接の経験を共有する
😄 ミームを投稿する
登録する、毎日資料を繰り返し、トレンドを把握しましょう!
2025年のHTMLとCSSの面接は、「タグを知っているかどうか」だけではありません。ブラウザがページをレンダリングする方法、パフォーマンスを最適化する方法、サポートされているコードを書く方法を理解することです。
黄金律: 誠実さ+基礎知識+実践=オファー
答えがわからない場合は、「今すぐは思い出せませんが、この情報をどこで見つけて、どのように適用するかは知っています」と言ってください。面接官は、すべての500のCSSプロパティを暗記するよりも、正直さと解決策を探す能力を高く評価します。
P.S. 覚えておいてください:すべてのシニア開発者は一度「div cssを中央に配置する方法」をGoogleで検索しました。違いは、今ではそれを行う5つの方法を知っており、どれが特定のタスクに適しているかを説明できることです。
