スポンサーリンク

【Back-End Developer Interview Questions】Active-Record:アクティブレコード

スポンサーリンク
スポンサーリンク
この記事は約3分で読めます。

Github上にバックエンドエンジニア採用時の質問に使える題材としてまとめられているページがある。コンピュータアーキテクチャ、デザインパターン、DB、Web、分散システム、チームマネジメントなど多種多様な題材がある。

 

解答はGithub上には一切かかれていない。正解や不正解がない問いがあること、この質問が会話のきっかけとなり、面接を受けている者のレベルを把握できることを期待していることなどが書かれていた。実務経験がある方なら経験や知識を活かす。未経験なら自分で調べつつ考えてほしいということだと思う。

 

この記事ではそのうちの1つについて調べたことをまとめた。

※学習中の内容なので正確さは保証できません。

 

質問

 

原文:Active-Record

Active-Record is the design pattern that promotes objects to include functions such as Insert, Update, and Delete, and properties that correspond to the columns in some underlying database table. In your opinion and experience, which are the limits and pitfalls of the this pattern?

 

内容:アクティブレコード

Active-Recordは、オブジェクトにInsert、Update、Deleteなどの関数と、元のデータベーステーブルのカラムに対応するプロパティを含めることを促すデザインパターンです。

このデザインパターンの限界と罠は何でしょうか?

 

 

※問題の訳や意図の解釈が間違っている可能性があります。

 

解答

 

・Rubyには機能としてのアクティブレコードはPoEAAを参考にしているが、デザインパターンとしてのアクティブレコードとは別物。

・クラスがテーブルに1対1で対応している

・シンプルでわかりやすい

・デメリットはクラスとテーブルが密結合になる点

→クラス単体のテストが難しい。テストする際はDBへのアクセスが前提になる

 

後日要修正・要追記

 

参考・メモ

 

 

・メモ

冒頭で紹介したページ

GitHub – arialdomartini/Back-End-Developer-Interview-Questions: A list of back-end related questions you can be inspired from to interview potential candidates, test yourself or completely ignore

 

・参考にしたページ

 

コメント