<aside> 💡 このページについて: Raksulのインターン選考内にある「技術課題=コーディングテスト」「コードレビュー会」についての説明です。はじめて体験される方はぜひこちらの内容を参考にしてください。
</aside>
「コーディングテスト」「コードレビュー会」と聞くと、少し身構えたり、遠ざけたい気持ちになる方もいるかもしれません。 これまでも多くの方が不安な気持ちを感じていますし、珍しいことではありません。 はじめはそういった気持ちを持つ方でも、実際に選考を受けた後は「自分が普段どのような思考でコードを書いているのかに向き合える良いきっかけになった」「コーディングを振り返る機会はなかなかないので、自己成長にもつながった」という声をいただくことが多くあります。 最初は「面倒くさいな」と感じても、エンジニアという仕事への理解が深まる絶好の機会でもあると思いますので、これを機にぜひ挑戦いただると嬉しいです。
そのため、現時点で問題が解けない場合や一部分しかできない場合も、問題を読み込んだ上で「ご自身が考えた内容やイメージしたこと」を『コードの説明欄』に記入しご提出ください。
例えば…
<aside> 💭 ・どこが難しいと感じたか ・考えたけれども分からなかった部分はどこか ・具体的な実装まで辿りつけなかった理由や背景 ・自身がイメージしていた進め方や手順 ・こういう知識があると解けると思った ・調べた結果、こういう風に進めるのがよさそう
</aside>
など、仮にコーディング欄が空であっても説明欄のみで提出も可能です。コーディングテストの点数だけでなく、上記も加味し判断をします。 そのため、仮にコーディングテスト自体が上手くいかない場合も「自身で考えた形跡」があると次にすすめるチャンスがあります。 インターネットで調べながら、生成AIを活用しながら、すすめていただくことももちろんOKです。その場合は「調べた結果、自身はどう考えたのか」もあわせて考えてみてください。
問題をすべて解けていないと提出できない、ということはありません。あくまで現時点で取り組めるところがどこなのか、を参考にさせていただくものです。 自信のない部分や分からない部分があっても取り組んだところまでをぜひご提出ください。 レビュー会にてアドバイスや参考になる情報をエンジニアからもらえる可能性もあります。
たとえ今の実力で難しそうと感じた場合も、遠慮することなく気軽にトライをしてください! 「これしかできないのに提出していいのかな?」「0点かもしれないからやめておこう」など気にする必要はありません。ラクスルのエンジニアカルチャーの1つ『Go Beyond』という言葉が表すように、新しいチャレンジや前向きな挑戦を推奨する文化がラクスルにはあります。 つまり「取り組まずに0点」と「取り組んだうえで0点」であれば後者を歓迎します。 もちろん選考の一環のため結果の出るものではありますが、エンジニアとしての成長の一歩と捉えぜひ気軽にトライしてください。
Track Test
※受験の際にお困りのことがありましたら、サポートページをご確認ください
<aside> ✅ (WEBエンジニア)通販サイトの商品管理システムを構築する問題
</aside>
<aside> ✅ (データサイエンティスト)かき氷屋の売り上げ予測
</aside>
提出解答のどこを見るか?
<aside> 👌 **・**コードの内容や中身 **・**コードの説明欄(工夫したポイントや考えたことなど)
</aside>
参考にするが重視しない点
<aside> 🤚 ・提出までの時間(時間内であればOK。解答スピードは重視しません。) ・使用している言語や技術
</aside>
少し歯ごたえのある問題のため、取り組むにあたってのポイントをいくつかピックアップしました。参考にしてみてください。
まずは問題文・仕様をよく読んで、問題で何を求められているのかを正しく把握することが大切です。今回のコーディングテストの課題は、専門的な知識がないと解けない種類の問題ではありません。まずは問題文をしっかりと読みこみ、実装やコーディングの流れをつかみましょう。
テストケースは提出の期限内であれば何回でも試すことが可能です。 そのため、公開されているテストケースをまずは1つ1つ通していき、手を動かしながら考えていくことがおすすめです。
今回の課題には「基本実装」と「応用実装」の二つの仕様があります。応用実装の仕様は複雑性も高いため、「基本実装」を着実にすすめていくことがおすすめです。 問題全体を見た時にボリュームを感じるかもしれませんが、その中でもまずは基本実装をクリアしていくことに集中しましょう。
普段の開発プロセスの中でも、開発前に設計について他のエンジニアと壁打ちをしたり、ペアプログラミングや、コードレビューをするので、そのインタラクションを体験していただくことができる会です。レビューと聞くと「書いたコードを厳しく見られたり、批判されるかも」というイメージを持つ方もいます。 この場はそうではなく、提出してもらったコードだけでは分からない、コードの意図や解決へのアプローチ方法について理解を深めるための場です。
このレビュー会は候補者の方が「社員と仕事を進めるイメージが持てるか」を考えてもらう機会、ラクスルにとっては「他のエンジニアとどのようにやり取りを進め、どのようなプロセスで課題を解決していくのか」を判断する機会になると考え取り入れています。 インターンに参加する前に「ラクスルのエンジニアはこういう風に働くんだ」ということが知れる貴重なチャンスです。
提出コードについて他者に説明をする、言語化をすることで、内省や振り返りに繋がり、それが学びを深める体験となります。レビュー会はできなかったところを見つけるだけの場ではなく「どこがよかったか」「今自分ができているところはどこか」を知れるいい機会にもなります。
「実業務の場合だったらどんな視点があるか」「現場エンジニアだったらどう考えるか」など業務に近いよりリアルな視点に触れる機会にもなります。 ラクスル以外のインターンや就職活動、エンジニアとして働く中で活かせる視点が見つかる可能性もあります。
コードレビュー会 参加者コメント
<aside> 🗣
自分の書いたコードを他人が見るということが今まであまりなかったので、このような書き方で良いのかよくわからない状態でしたが、 コードレビュー会で実際にエンジニアの方に見ていただいてコメントをしていただき、より読みやすいコードにするにはどのようにすればいいかを考えるきっかけになりました。
</aside>
<aside> 🗣
丁寧にコードの改善点について議論してくださり、自分が気づいていないような指摘もあり、学びが多く有意義な時間となりました。 また、初めて自分のコードについて他の人と議論したので、新鮮で楽しかったです。
</aside>
<aside> 🗣
コードレビュー内で、再度自分に対してこの部分のロジックをなぜこのようなコードに落とし込んだのか問い直したり、どうしてここのクエリが通らなかったのかを解説していただいたことで自分に不足している考え方を補うことができたと考えています!
</aside>
<aside> 🗣
なかなか自身が実装したコードに対するレビューを返してくれる機会がないので、とても参考になった。 エンジニアとして働くイメージが大いに得られると思う。
</aside>