Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
競プロ布教LT
Search
zakisan
April 17, 2021
Technology
0
120
競プロ布教LT
エンジニア転職や実務で競プロは役に立つと言いたかった...
zakisan
April 17, 2021
Tweet
Share
More Decks by zakisan
See All by zakisan
[2024-06-19 Japanglish Tech Talk] Building My First Infrastructure The way from EC2 to ECS
zakisankazu
0
76
Other Decks in Technology
See All in Technology
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
120
Witchcraft for Memory
pocke
1
310
Wasm元年
askua
0
140
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
150
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
1
160
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
310
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
170
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
160
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
130
解析の定理証明実践@Lean 4
dec9ue
0
180
M3 Expressiveの思想に迫る
chnotchy
0
100
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
A Tale of Four Properties
chriscoyier
160
23k
Optimizing for Happiness
mojombo
379
70k
Documentation Writing (for coders)
carmenintech
72
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Adopting Sorbet at Scale
ufuk
77
9.4k
Faster Mobile Websites
deanohume
307
31k
The Language of Interfaces
destraynor
158
25k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Visualization
eitanlees
146
16k
Transcript
Webエンジニアのキャリア形 成と競技プログラミング 〜コーディングテストを乗り越えて(実務経験1年編)〜 2021/04/18 twitter:@zaki_chemtech
自己紹介 . . ・ A P I . . ・
もくじ ・(Web業界の)エンジニア採用スキーム ・競技プログラミングとは? ・実際に解いてみよう! ・まとめ
(Web業界の)エンジニア採用スキーム(1) 書 類 応 募 技 術 面 接 技術責
任者 人 物 面 接 役員 カ ル チ ャ | マ ッ チ 面 談 メンバー達 (イケてる企業の?)採用スキーム例 ス キ ル チ ェ ッ ク 課題 b a c k c h e c k
(Web業界の)エンジニア採用スキーム(1) 書 類 応 募 技 術 面 接 技術責
任者 人 物 面 接 役員 カ ル チ ャ | マ ッ チ 面 談 メンバー達 (イケてる企業の?)採用スキーム例 発表者のスキルチェックの 突破率は(一応)100%!! ス キ ル チ ェ ッ ク 課題 b a c k c h e c k
(Web業界の)エンジニア採用スキーム(2) スキルチェックの内容 注:n1データなので参考までに ....
(Web業界の)エンジニア採用スキーム(3) コーディングテストの内容 実行すると題意に則したアウトプットを出力するプログラムの作成 例 ・HackerRank(競技プログラミング形式) ・PRベースで提出(会計処理を自動化、データスクレイピング, ect...) 予想注目点 ・題意(要件)を正しく把握できているか ・課題対処への速さ(設計
実装 テストのサイクル速度) ・コードの綺麗さ(オブジェクト指向、デザインパターン、命名規則) ・(PRの作り方、計算量 ect...)
(Web業界の)エンジニア採用スキーム(4) あれ?? コーディングテストって めちゃくちゃ競プロer有利じゃね? ス キ ル チ ェ ッ
ク に て 競 プ ロ e r は
競技プログラミングとは?(1) 競技プログラミングでは、参加者全員に同一の課題が(テキストベースで) 出題され、より早く与えられた要求を満足するプログラムを正確に記述す ることを競う。 コンピュータサイエンスや数学の知識を必要とする問題が多く、新卒学生 の採用活動などに使われることもある (wiki引用:https://ja.wikipedia.org/wiki/競技プログラミング) 競技プログラミングってなんぞ?
競技プログラミングとは?(2) 競プロする事によるエンジニアのメリット ・要件把握の正確性 (文書の読解力) ・設計実装テスト提出までの速度アップ ・(チームコンテスト出場時)可読性を考えたコーディング ・実装コードの計算回数の把握 ・コーナーケースを意識した実装 ・テストシナリオ作成能力 (バグの発見のため) つまり競プロは、 実務やコーディングテストに求められる能力に相関性アリ!
競技プログラミングとは?(3) なるほど、よくわからん という事で 実際にやってみよう!!
実際に解いてみよう!(1) (引用:https://atcoder.jp/contests/abs/tasks/abc085_c)
実際に解いてみよう!(2) 計算回数:10^7~10^8以下までOK 10000*a + 5000*b + 1000*c = Y a
+ b + c = N
とりあえずa b cに適当な値を入 れて探索してみますか! ⬇ コード化!!
実際に解いてみよう!(3) コード化 by Python
提出!!
実際に解いてみよう!(4) 実行時間が2秒超えとる!! (計算量が多過ぎた...)
実際に解いてみよう!(5) 計算量が多かったコード by Python aとbが決まればcは計算でだせそうだから ループが一個少なくて済みそう!! c = N -
a - b N(max 2000)が3重ループ全てに関わっ てるのが悪そう? ※2秒で出来る計算量は約10^7〜10^8
リファクタ!!
実際に解いてみよう!(6) 一つループを減らせた!! 計算量改善したコード by Python
再度提出!!
実際に解いてみよう!(7)
まとめ ・転職時にスキルチェックがある場合は コーディングテストがほぼ8割 ・競プロとコーディングテストは求められる能力に 相関性がかなりある(と思う!!) ・(要件定義以降のフェーズでは)実務でも競プロは 役立ちそう ※もちろん他の要素も実務では求められる
みんなで競プロやろうぜ!! AtCoder Beginner Contest(ABC) でお待ちしてます 土日の21時から100分間やってるよ! 詳しくはこちら⬇ https://atcoder.jp/?lang=ja