エンジニアとしての転職・就職活動をしていると、技術的な質問をされることがあるかと思います。
私は個人での開発で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.php
やapi.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
ミドルウェアが使用できる。
こんな感じでしょうか。
多分、未経験への質問的にはこんな感じだと思いますが、レベルに応じてもっと突っ込んだ質問であったり、違った角度からの質問もあるかもしれません。。
この記事は「未経験からの就職・転職」の方向けなのでその辺は察していただけると。。
どなたかのお役に立てるなら幸いです。