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
91
Other Decks in Technology
See All in Technology
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
1
380
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
120
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
1
330
仕様駆動 x Codex で 超効率開発
ismk
2
1.5k
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
1.1k
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
120
自己的售票系統自己做!
eddie
0
450
コード1ミリもわからないけど Claude CodeでFigjamプラグインを作った話
abokadotyann
1
160
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
100
re:Invent完全攻略ガイド
junjikoide
1
350
⽣成 AI で進化する AWS オブザーバビリティ
o11yfes2023
0
120
Featured
See All Featured
KATA
mclloyd
PRO
32
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Bash Introduction
62gerente
615
210k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Building Adaptive Systems
keathley
44
2.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
For a Future-Friendly Web
brad_frost
180
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
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