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会 Progate BAR
Search
akio
May 28, 2026
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akio
May 28, 2026
More Decks by akio
See All by akio
16pxの次が24pxで困った話 ー Radix UIから学んだデザイントークンの考え方
akiomatic
0
13
Other Decks in Programming
See All in Programming
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
540
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
380
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
920
霧の中の代数的エフェクト
funnyycat
1
430
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
自作OSでスライド発表する
uyuki234
1
3.9k
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
450
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5.5k
5分で問診!Composer セキュリティ健康診断
codmoninc
0
630
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
430
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
The Curious Case for Waylosing
cassininazir
1
440
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
420
BBQ
matthewcrist
89
10k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
My Coaching Mixtape
mlcsv
0
180
How to Ace a Technical Interview
jacobian
281
24k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Un-Boring Meetings
codingconduct
0
350
Git: the NoSQL Database
bkeepers
PRO
432
67k
Transcript
0 1 / 1 3 2 0 2 7 /
0 5 / 2 8 P r o g a t e B A R 「エンジニアインターン、どうやって取った?」 準備のリアルを語る LT 会 コーディングテストで 「動くコード」だけじゃ⾜りないと気づいた話
0 2 / 1 3 ⾃ ⼰ 紹 介 P
H O T O まてぃ 神⽥外語⼤学 27 卒 好 き な も の #Minecraft 出⾝ SWE #フロントエンド #UI/UX #a11y #⾟ラーメン #RedBull #コウテイペンギン X: @akiomatic
0 3 / 1 3 視 点 テストケースに通るだけで、 本当に⼗分なのか? この違和感から話します
0 4 / 1 3 意 外 だ っ た
こ と ? うまく解けた感覚はなかった でも通過した 正解数だけでは測れない?
0 5 / 1 3 背 景 その前は、 何度もつまずいていた 何が⾜りないのか分からなかった
0 6 / 1 3 思 い 込 み テストケースに通ればいい
解 く → 実 装 す る → 提 出 す る
0 7 / 1 3 転 機 ! 「動く」だけではなく、 「読まれる」ことも意識した
エンジニア職のコーディングテストを突破するには? LINEヤフーのコーディングテスト、実際どう?内定者と選考官に聞いてみた
0 8 / 1 3 気 づ き コーディングテストも、 実務のコードの延⻑線上にある
⾃分だけが分かるコードでは⾜りない
0 9 / 1 3 観 点 可読性 読みやすい 保守性
直しやすい 拡張性 変更しやすい 再利⽤性 使い回しやすい 意図の明確さ 考え⽅を追いやすい
1 0 / 1 3 B e f o r
e main の中に処理がまとまっている import fs from "node:fs"; const main = () => { const input = fs.readFileSync(0, "utf8"); const values = input.trim().split(" ").map(Number); const itemCount = values[0]; let total = 0; for (let index = 0; index < itemCount; index++) { const price = values[index * 2 + 1]; const qty = values[index * 2 + 2]; total += price * qty; } console.log(total); }; main();
1 0 / 1 3 B e f o r
e main の中に処理がまとまっている import fs from "node:fs"; const main = () => { const input = fs.readFileSync(0, "utf8"); const values = input.trim().split(" ").map(Number); const itemCount = values[0]; let total = 0; for (let index = 0; index < itemCount; index++) { const price = values[index * 2 + 1]; const qty = values[index * 2 + 2]; total += price * qty; } console.log(total); }; main();
1 1 / 1 3 A f t e r
標準⼊⼒・変換・計算・出⼒を分ける p a r s e c a l c u l a t i o n / m a i n import fs from "node:fs"; type Item = { priceInYen: number; quantity: number }; const readInput = (): string => fs.readFileSync(0, "utf8"); const parseItems = (input: string): Item[] => { const numericValues = input.trim().split(" ").map(Number); const itemCount = numericValues[0]; return Array.from( { length: itemCount }, (_, itemIndex) => { const priceIndex = itemIndex * 2 + 1; const quantityIndex = itemIndex * 2 + 2; return { priceInYen: numericValues[priceIndex], quantity: numericValues[quantityIndex], }; }, ); }; const calculateTotalPriceInYen = (items: Item[]): number => items.reduce( (totalPriceInYen, item) => totalPriceInYen + item.priceInYen * item.quantity, 0, ); const main = () => { const rawInput = readInput(); const items = parseItems(rawInput); const totalPriceInYen = calculateTotalPriceInYen(items); console.log(totalPriceInYen); }; main();
1 1 / 1 3 A f t e r
標準⼊⼒・変換・計算・出⼒を分ける p a r s e c a l c u l a t i o n / m a i n import fs from "node:fs"; type Item = { priceInYen: number; quantity: number }; const readInput = (): string => fs.readFileSync(0, "utf8"); const parseItems = (input: string): Item[] => { const numericValues = input.trim().split(" ").map(Number); const itemCount = numericValues[0]; return Array.from( { length: itemCount }, (_, itemIndex) => { const priceIndex = itemIndex * 2 + 1; const quantityIndex = itemIndex * 2 + 2; return { priceInYen: numericValues[priceIndex], quantity: numericValues[quantityIndex], }; }, ); }; const calculateTotalPriceInYen = (items: Item[]): number => items.reduce( (totalPriceInYen, item) => totalPriceInYen + item.priceInYen * item.quantity, 0, ); const main = () => { const rawInput = readInput(); const items = parseItems(rawInput); const totalPriceInYen = calculateTotalPriceInYen(items); console.log(totalPriceInYen); }; main();
1 1 / 1 3 A f t e r
標準⼊⼒・変換・計算・出⼒を分ける p a r s e c a l c u l a t i o n / m a i n import fs from "node:fs"; type Item = { priceInYen: number; quantity: number }; const readInput = (): string => fs.readFileSync(0, "utf8"); const parseItems = (input: string): Item[] => { const numericValues = input.trim().split(" ").map(Number); const itemCount = numericValues[0]; return Array.from( { length: itemCount }, (_, itemIndex) => { const priceIndex = itemIndex * 2 + 1; const quantityIndex = itemIndex * 2 + 2; return { priceInYen: numericValues[priceIndex], quantity: numericValues[quantityIndex], }; }, ); }; const calculateTotalPriceInYen = (items: Item[]): number => items.reduce( (totalPriceInYen, item) => totalPriceInYen + item.priceInYen * item.quantity, 0, ); const main = () => { const rawInput = readInput(); const items = parseItems(rawInput); const totalPriceInYen = calculateTotalPriceInYen(items); console.log(totalPriceInYen); }; main();
1 2 / 1 3 変 化 通過できる場⾯が 少しずつ増えた アルゴリズムだけで勝てたわけではない
1 3 / 1 3 ま と め テストケースに通るだけで 終わらせない
動くコード から、 意図が伝わるコード へ