プログラミング

エンジニアになるため面接の技術質問対策していきます その1

こんにちは、Nanayakuです。

面接対策のため、Twitterで見つけた技術質問の回答を調べていきます。

参考ツイート

 

回答

cookieとsessionの違い

HTTPは、1つ1つの通信が独立している「ステートレス」と言う特徴があります。

このため、ユーザーがログインしているのか?カートに商品を入れたのか?を記憶できません。

それらの情報を保持する方法がcookieとsessionです。

cookieは、クライアントのブラウザにテキストデータでユーザー固有の情報として保存されます。

しかし、暗号化されていない状態で保存されるので、情報漏洩の危険性が非常に高いです。

sessionは、サーバーに情報をユーザー固有の情報を保存し、クライアントは暗号化されたセッションIDでその情報へアクセスします。

cookieとsessionは、情報を保存する場所がクライアントかサーバー側かと言う違いがあります。

 

HTTP通信のgetとpostの違い

GETとPOSTの違いは、リソースを取得するか作成するかの違いがあります。

GETはデータベースなどの情報を取得する時に用いられ、POSTは新規登録や投稿などデータの作成に用いられます。

ここからは補足です。

PUTは、リソースの作成と置き換えの働きがあります。

データベースの情報を上書きする時に用いられます。

 

引数とは

メソッドに渡すオブジェクトのことです。

メソッドは、このオブジェクトを使用して処理を行います。

Gitのコマンド5つ教えて

git init

ローカルリポジトリを作成します。

 

git add

選択したファイルをインデックス(ステージ・エリア)に追加します。

 

git commit

インデックスに追加されたファイルをローカルリポジトリに保存します。

 

git log

コミットしたファイルや履歴を確認できます。

 

git status

ファイルの状態を確認できます。

 

git push

ローカルリポジトリの変更をリモートリポジトリに反映させます。

 

git pull

リモートリポジトリの変更をローカルリポジトリに反映させます。

 

git branch

ローカルブランチ一覧と現在のブランチを確認できます。

 

git checkout

選択したブランチに切り替える事ができます

 

git merge

作成したブランチの変更をマスターブランチの反映させる事ができます。

 

 

プロパティとメソッドの違い

プロパティは属性のことで、オブジェクトに関連付いたデータ・データ型のことです。

メソッドは操作のことで、オブジェクトを操作するもののことです。

 

Ajaxとは

JavaScriptでサーバーと非同期通信をする技術のことです。

一部の情報だけサーバーにリクエストし、画面の一部だけ反映させる仕組みのことです。

例えば、Google マップなどの地図を動かしても、他の画面が変更されないことです

 

requireとincludeの違い

requireは、外部ファイルやライブラリを読み込むのに使うメソッドです。

includeは、モジュールの性質をクラスに追加するために使用するメソッドです。

 

例外処理を教えて

想定したエラーが発生した時に実行する処理のことです。

 

SQLインジェクションとは?対策は?

対象のウェブサイトに不正なSQLの命令を注入し、データベースのデータの漏洩や改ざんが行われることです。

対策として、SQL言語やプログラミング言語を扱う上で、特別な意味を持つ文字を別の文字に書き換えるエスケープ処理があります。

また、外部ネットワークからの不正アクセスを検知し遮断するファイヤーウォールを導入したり、そのサイトのセキュリティリスクを洗い出す脆弱性の診断を行う事が挙げられます。

 

仮想環境作ったことある?

ドッドインストールを参考にVirtualBox・Vagrantを用いて、OSの種類やバージョンを指定して開発環境を構築した事があります。

また、Dockerでコンテナ型の開発環境を構築し、ポートフォリオを作成しました。

 

最後に

今回はTwitterで見つけた面接の質問について回答を作成してみました。

自分も実際に面接を受けたら、同じように回答を作成していこうと思います。

-プログラミング
-

Copyright© Nanayaku blog , 2019 All Rights Reserved Powered by AFFINGER5.