👥
面接でRubyとReactのコーディング試験を受けた話
自己紹介
こんにちは、最近は就活を頑張りつつPaizaで基礎固めをしているにーきこうです。
今日はコーディング試験を受けさせて頂いたので、整理のためにも記事を書きます。
僕の言語経験感
- Rubyは1年ほど
- Reactはコーディング試験のお話を頂いてから文法をサラッと学習した程度
Rubyの課題
ユーザーがemailとnameを入力するので、paramsを使ってユーザーを作成してください。
- 使用言語はRubyのみ
- IDEは自由
僕の回答
class UserController < ApplicationController
def new
@user = User.new(user_params)
end
def create
@user = User.new(user_params)
if @user.save
redirect_to root_path
else
render action: :new
end
end
private
def user_params
params.require(:user).permit(:name, :email)
end
end
Rubyの総評
レビューして頂いた内容を箇条書きすると、
- インスタンス変数はViewでも使ってるのかな?と思われるので、Controllerで完結する場合は普通に定義した方がいい。
- newでuser_paramsをsaveしないし使わないので、書かなくていい。
- privateでrequireしているのはバリデーションの視点から見て良いと思った。
といった事を言って頂きました。
Reactの課題
ボタンAをクリックすると、countされた回数が表示されるようにしてください。
- 使用言語はRubyのみ
- IDEは自由
僕の回答
import React, {userState}from 'react';
cost Component = () =>{
inisiate(props){
this.state = { value : 0 }
}
clickCounter = () => {
this.setState({ value : this.state.value + 1});
}
return(
<div>
<div>
<button type="button" onClick={this.clickCounter}>
</div>
<p className="click-times">
カウント数{this.state.value}
</p>
</div>
);
}
Reactの評価
多分動かない上に規約に引っかかってたりする恥ずかしいコードです。
JavaScriptの理解がもう少しあれば出来そうなので、JSの知識を付けようと思いました。
レビューして頂いた内容は、
- まず、関数を使った書き方じゃないとこれは動かない
- 関数を使わない書き方であれば動きそうではある
- あとは基本規約であったり言語のルールを理解するべし
と言ったものでした。本当にその通りです。
今後について
Rubyは書き慣れていることもあって、危なげなくクリアすることができました。
課題はReactですが、今はAWSのSAAと基本情報技術者を取得するために時間を割きたいので、業務で必要でもない限り、積極的に勉強することは多分ないかなと思いました。
コーディング試験は初めてだったので、レビューしてくれるのが本当にありがたかった...。
明日からまた面接頑張っていきます!
Discussion