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
68
Other Decks in Technology
See All in Technology
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
910
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.3k
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
65
4.4k
Done Done
chrislema
181
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Teambox: Starting and Learning
jrom
133
8.8k
Typedesign – Prime Four
hannesfritz
40
2.4k
RailsConf 2023
tenderlove
29
900
What's new in Ruby 2.0
geeforr
343
31k
Facilitating Awesome Meetings
lara
50
6.1k
KATA
mclloyd
29
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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