エンジニアとしての転職・就職活動をしていると、技術的な質問をされることがあるかと思います。

私は個人での開発でJavaScript(主にVue.js)とPHP(主にLaravel)を現状使っているので、そういった言語やフレームワークを用いた開発をされている企業への応募をしていましたが

そこで出てくるものの中でも「Laravel」に関して、想定される(または実際に聞かれた)質問とその受け答えれいを備忘録がてら残しとこうかと思います。面接対策などで参考になれば幸いです。

なお、この記事で紹介(実際にされたものと、予想的なもの)する質問内容は、あくまでも「未経験」の方向けを想定しているのでその点はあらかじめご了承ください。

1: Laravelの基本的な理解について

ぬこ先生

Laravelって何だニャ?その特徴や利点はなんだニャ?

Composerの役割は何だニャ?Laravelでどのように使用されるニャ?

ゆたんぽ

みたいな質問が来たとしての回答例。

回答例:

LaravelはPHP(で構築されたオープンソースのWebアプリケーション)のフレームワーク。

特徴としてはシンプルで初学者でも理解しやすい構文、Eloquent ORMによってDB関連の処理が効率的に行える、そのほかにもセキュリティ関連やartisanコマンドなど豊富な機能を備えている。

回答例:

ComposerはPHPのパッケージ依存性管理ツールで、Laravelプロジェクトでは外部ライブラリやフレームワークを簡単に追加できるなどの特徴がある。

2: MVCアーキテクチャについて

ぬこ先生

MVCアーキテクチャについて説明してくれニャ。

LaravelでのMVCの役割を説明してニャ。

回答例:

「MVC」はModel-View-Controllerの略で、データの管理(Model)、ユーザーインターフェース(View)、アプリケーションのロジック(Controller)を分離するアーキテクチャ。

LaravelではEloquent ORMがModelを担当し、BladeテンプレートがViewを担当し、ControllerはHTTPリクエストを処理して適切なモデルやビューにデータを渡す。

3: ルーティングについて

ぬこ先生

Laravelでのルーティングの基本的な概念を説明してニャ。

名前付きルートとは何だニャ?

回答例:

ルーティングはURLとコントローラーのメソッドを関連付ける仕組み。web.phpapi.phpなどのルートファイルに定義される。

名前付きルートは以下のような形で「ルートの別名」を提供し、例えばViewでそのルートを付けた名前で呼び出すことが出来る。

// ->name()の部分が名前付きルート。

Route::get('/', 'HomeController@home')->name('home');

4: コントローラーについて

ぬこ先生

Laravelのコントローラーの目的は何だニャ?どのように使用するニャ?

回答例:

コントローラーはHTTPリクエストを処理し、それに対応するアクションを呼び出す役割がある。

5: モデルについて

ぬこ先生

Laravelのモデルとは何だニャ?どのようにDBとやり取りしてるニャ?

回答例:

モデルはデータベースとのやり取りを担当し、Eloquent ORMを使用してDBと連絡する。

ViewとControllerをそれぞれ繋いでいるイメージ。

6: ビュー(Bladeテンプレート)について

ぬこ先生

Bladeテンプレートエンジンの概要を説明してニャ。

レイアウトとセクションの使用方法について説明してニャ。

回答例:

BladeはLaravelのデフォルトのテンプレートエンジンであり、シンプルでありながら強力な制御構文を提供している。

レイアウトとセクションはテンプレートの構造を簡単に管理するための仕組み。

7: マイグレーションについて

ぬこ先生

Laravelのマイグレーションとは何だニャ?

シーディングとは何だニャ?

マイグレーションを実行するためのコマンドは何だニャ?

回答例:

マイグレーションはデータベースのスキーマを定義する方法で、シーディングは初期データをデータベースに挿入するプロセス。

コマンドの代表例は以下のとおり。

// example_tableというテーブルのマイグレーションファイルを作成
php artisan make:migration create_example_table

// マイグレーションファイルの実行
php artisan migrate

// パスを指定して特定のファイルだけ実行することも可能
php artisan migrate --path=/database/migrations/example_migration.php

// ロールバック
php artisan migrate:rollback

// 特定のステップまでロールバック(以下は1つ前にマイグレーションを実行した時点までロールバック)
php artisan migrate:rollback --step=1

// データベースをリセットし、全てのマイグレーションを再実行
php artisan migrate:refresh

// シーダーも一緒に実行
php artisan migrate --seed

8: ミドルウェアと認証について

ぬこ先生

ミドルウェアって知ってるかニャ?

Laravelでの具体的なミドルウェアの例は何だニャ?

Laravelでの認証の設定方法について説明してニャ。

回答例:

ミドルウェアはHTTPリクエストに対してフィルターを適用するためのメカニズムで、認証ミドルウェアはユーザーが認証されているかどうかを確認します。

make:auth

認証に関しては、Laravelの組み込み機能であるmake:authコマンドを使用することで簡単にセットアップが可能であり、同時にauthミドルウェアが使用できる。

ゆたんぽ

こんな感じでしょうか。

多分、未経験への質問的にはこんな感じだと思いますが、レベルに応じてもっと突っ込んだ質問であったり、違った角度からの質問もあるかもしれません。。

この記事は「未経験からの就職・転職」の方向けなのでその辺は察していただけると。。

どなたかのお役に立てるなら幸いです。