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
110
競プロ布教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
71
Other Decks in Technology
See All in Technology
実は強い 非ViTな画像認識モデル
tattaka
3
1.3k
Windows の新しい管理者保護モード
murachiakira
0
200
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
7
1k
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
600
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
150
What's new in Go 1.24?
ciarana
1
110
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
3
6k
Goで作って学ぶWebSocket
ryuichi1208
3
2.8k
分解して理解する Aspire
nenonaninu
2
1.1k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
130
Active Directory攻防
cryptopeg
PRO
8
5.5k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
510
Git: the NoSQL Database
bkeepers
PRO
427
65k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Building Adaptive Systems
keathley
40
2.4k
GitHub's CSS Performance
jonrohan
1030
460k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
How to Ace a Technical Interview
jacobian
276
23k
4 Signs Your Business is Dying
shpigford
182
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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