北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

今日は "GO GLOBAL" meetup #1 の日です

"GO GLOBAL" meetup #1 に参加していますので、自分用のメモを残しておきます。

コーディング試験Codility運用の実態と実績 / @k0000i さん

  • コーディング試験とは : コンピュータサイエンスの理解度を見る
  • 応募すると、コーディング試験を受けるようメールが来る
  • 2時間で2問を回答する
  • IDEは使用可能
  • デモテストや練習問題がある
    • 受けておくとスコアを上げられるでしょう
  • 正確性とパフォーマンスのスコアの平均
    • 正確性 : バグがないか
    • パフォーマンススコア : 大きいデータを突っ込んだ場合
  • コードテストだけで実力を図ることは不可能
    • 能力は面接で直接確認する
  • 例えばGoogleの試験では、バイナリ木を反転できないと落ちる (homebrewの作者談)
  • 時間の使い方も見ている
    • コーディングの過程を動画で見ることができる
  • テストスコアは機密情報
  • 平均スコアは相当低い
    • 満点が 3.1 % 、 ゼロ点が 16.7 %
    • 5~10分で離脱する
  • similarity チェックをしている
    • チート防止。C++で書き始めて突然PHPのコードに変えた人とか

メルカリにおける技術者採用方法の最近 / @mootoh さん

  • コードインタビューを受けたり実施したり
  • 技術課題 × 技術面接
  • 課題を期限内に提出してもらう
    • アプリ作成、ML、セキュリティ
  • PROS: 面接よりプレッシャーが少ない
  • CONS: 過程がわからない、自由度が高いと評価しにくい
  • メルカリは、海外の候補者に日本に来てもらうことが多い
    • 最初から日本に来てもらうわけにも
  • 技術課題は、海外在住でも問題がない
  • 面接
    • GOTチーム(同時通訳)
    • 面接官の英会話力が必要
    • Google DocsSkype Interview を利用。
    • Hangouts の音が切れる
      • 推測せずに聞き返すのが大事
  • Scaleさせる : 候補者も面接者も増える
    • 標準化 : ばらつきを減らし、評価できる人を増やす
    • Hackerrank : 採点の自動化
  • うまい、やすい、はやい
    • 採る方も採られる方も
    • いい会社、少ない手間で、早く結果が出る
  • アウトプットが多い人
    • GitHub, Blog など
    • 課題をスキップしたり、面接で最初から核心を聞けたり
  • フェーズによって採用は変わる
    • 以前駄目でも、今なら良かったり
  • まとめ
    • グローバル化かつスケールさせるとカオスになる
    • 中の人になると見えることがある

コードテストでtrack.runを使ってる話と採用フロー / @yosuke_furukawa さん

  • インターンのコードテストに track を採用している
  • テストの内容
    • DB、HTTP、アルゴリズム、数学
    • 2~3時間はかかる
    • 技術力+入社意欲を見る
  • アルゴリズムの問題の例 (公開禁止です)
    • アルゴリズムを知らないと最後の問題は解けない
    • どの計算量まで耐えられるかを見る
  • 優秀な人だと、1.5時間で95%程度の正答率
  • trackのいいところ
    • 解けなくても、アピールができる
    • わかった部分などを、文章で伝えて部分点をもらいにいける
  • trackのだめなところ
    • エディタが使いにくい
    • UIがわかりにくい
    • 回数をこなせば、コツはわかる
  • 点数でフィルタしない。面接の参考値
  • 面接は相互理解の場
    • 人が期待と違った。会社が期待と違った
  • 職務履歴書から質問を考えておく
  • 何をしたかではなく、何を学んだかを知りたい
    • XXXという仕事をして、YYYということを学んだ。という回答を期待する
  • 会話を通じて、お互いを学べる機会とする
  • 入社ではなく、入社後にフォーカスした回答をして欲しい

付け焼き刃でベイエリアの面接を突破するたった一つの方法 / @daigo さん

  • ホワイトボード面接が嫌い
    • 人前、勉強に時間を取られる、当日疲れる、ホワイトボードスキル、運ゲー
    • 通常業務で鍛えられない
    • 競技プログラミング好きな人には楽しい、動けばいいって人にはつらい
  • Cracking the coding interview という本がすべての元凶
    • Googleさんのやつ。いつの間にか必須になってしまった
  • FBからの案内メール
    • 準備することを教えてくれたり、準備会があったり
    • もはや受験
  • 変な人を採用するよりマシなので、足切りとして使ってるんでしょう
  • 遊びに来いと言われたら、受験スケジュールが渡された
    • 12:30 - 18:00 まで
    • HRはコンバージョンを狙ってるので騙しに来る
  • 電話面接
    • 通話しながら 2 問ほど解かされる
  • 頭が真っ白になり、「おうちかえりたい」になる
    • 優れた面接官は救ってくれる
    • 最適解を狙わず、まず解ける方法を狙うこと
  • ホワイトコートで書くとき
    • 型のない言語を選ぶ
    • 方針を決めてから書かないと、insertが辛い
    • 標準関数を使うときは O(n) かを知っておく
    • ホワイトボードを購入して訓練する
    • 円と線分の当たり判定、経路探索辺りの問題は多い
  • LeetCode
    • 過去問をひたすら解く。受験なので
    • 各社の過去問が登録されている
    • 「あ、これLEETCODEでやったところだ」
    • 「この問題知っていたら言ってね」(いうわけがない)
  • 必勝法
    • CEO/CTOに気に入られる
    • 契約社員で始める
    • 受験者で共謀 (同じ問題が出る) (グレーです)
    • 会社にいる人と練習 (友情はNDAを超えるか)
  • 怠惰が大事
    • 多方面から攻める
    • Googleは付け焼き刃では無理なので勉強して
  • leetcode もくもく会をやってます

Lightning talk

コーディング面接を受ける際の Tips / @thagikura さん

  • GoogleTwitter を受けた Tips
  • オンライン面接。 45分×1回か2回
  • オンサイト面接。45分を4回~6回
    • ホワイトボードで実施
    • オンライン面接より難しい
    • コーディングが多いが、アーキテクチャ
    • 実際コードを書くのは30分程度
    • 速さも観点
  • 言語の選び方
    • 一番書きなれた言語
    • 記述量が少ない言語がいい (Javaはきつい)
    • 面接官に断って略記を使う
  • 適切にメソッド分割する
    • 部分店
    • 書き直しがすくなくなる
  • データ構造、アルゴリズムのおさらいが重要
    • エンジニアの本質は重要ではない

初めてのエンジニア海外チャレンジ / @yabaiwebyasan さん

  • セブ島でプログラミングを学んだ
  • 人生で一度も受験勉強をしていない (推薦)
  • ALIS ブロックチェーンSNS
  • ベルリンはビザが通りやすい
    • 英語が通じる 31歳以下、2000ユーロ
    • 世界からエンジニアが集まっている
  • 日本人は失敗を恐れすぎ
    • 20代のうちに、リスクを恐れずに海外へ
  • エージェントから英語をまず勉強するように言われてしまった
  • 国内は自分を雇う気がないので、海外へ行ったほうがいい
  • HackerRank, LeetCode, Pramp, awesome-iterview-questions などで勉強
  • Linked-in では、ドイツに住んでることにしている
  • 無料で英語を学ぶ会
    • Dev Japan, CodeChryslis などの会

QuipperのWebエンジニア採用におけるコードテスト / @kechol さん

  • 書類、一次面接、コードテスト、二次面接、VP、オファー面談
  • 1問辺り2時間程度の問題を、3問
    • 自宅で解いてもらう
    • 言語を指定 Ruby/JavaScript
    • 未経験でもキャッチアップで溶ける難易度設定
  • アプリを丸ごと作るテストをやっていた
    • 問題点: 他社に取られる、脱落する
  • コードテストの変更の方針
    • コードテストはなくさない
    • 最低のレベルを担保する
    • アルゴリズム問題は出さない
      • 日本ではメジャーではない (訓練している人がいない)
      • サービスのボトルネックではない (キャッシュ戦略などのほうが大事)
  • コードテストで見たい要素をスプレッドシートにまとめる
    • 担保するかしないか
    • 担保できない部分をどうするか
  • スプレッドシートを元に問題を作成
  • 運用
    • Codility や track は使ってない
    • Dockerfile で環境を固定し、エンジニアがモブレビュー
  • 提出期間が 2 週間から 3 日へ
  • スクリーニングプロセスとしてはよい
  • 利用ライブラリのアップデートはメンテナンス必要
  • インドネシアではアプリを作るコードテストを実施している
    • 他社もコードテストが一般的なので、採用の妨げにならない
    • チートが多いのでその防止

人生で初めて外資の転職試験受けてみた / @ganezasan さん

  • 英語歴
    • アメリカ人とチャットベース開発を1年 (チャットじゃないと仕事にならない)
    • セブ島で3ヶ月
    • ぎりぎり読めてぎりぎり聞こえる
  • 英語の面接で日本語を使うと落ちる
  • WEB系のホワイトボード面接は、思ったより難しくない
    • 英語で説明するのがきつい
    • 事前の情報がない。前提条件がざっくり。数学的な知識。
  • Paizaで練習
    • 受験に近い (日本語なので)
    • HackerRank
    • Aランク、Sランクは1時間で終わらない
    • 土日を使って2週間かかるレベル
  • 転職には運もある
  • 英語で仕事できる場所
  • 英語の自信がなければ、職種を変えるのもいい
    • サポートエンジニアになって英語を学ぶ
  • CircleCIへ入社した感想
    • 「すみません」より"Thank you"
    • 初めて話す人でも質問に答えてくれる
    • リアクションが大きい

テックインタビュー裏表(?) / @mogutan88 さん

  • 桑年 (48)
  • 多数受けて、通ったところも落ちたところもある
  • 練習が必要
    • 本命ではない会社を数社受ける
  • 学歴、職歴、業務経験
    • 学歴の詐称ビジネスがある国、地域がある
    • コーディング面接などをしないと危険
  • 業務に関連した質疑応答
    • 書いていることが本当か
    • 英語力、どんな人か
    • 運(時期によって、必要な英語力などは違う)
  • 業務に関連しない質疑応答
    • カルチャーマッチ、ストレス対応
    • 同部署の人が面接官の場合は、印象が大事
  • コーディング力
    • コーディングの慣れ(何年も離れてると書けない)
    • CSをやっていないときつい
  • リファレンス
    • コネ。裏取り
    • 海外でも重要。重役と知り合いなど。
    • 裏取りの意味もある。元の会社に聞くなど

シリコンバレーで現地就職した際に重要だったいくつかの物事 / @daikikohara さん

  • 主にスタートアップの話
  • 現地にいること
    • コーディング試験で口頭だけでなくホワイトボードを使える
    • インターン、試用期間を利用できる
    • 待遇差。給料を下げたいからリモートで探す
  • 現地へ行く : 学生ビザ
    • 大学の Extension プログラム
    • 9ヶ月のプログラムで1年間
    • 40過ぎでチャレンジしている人も
  • リファレンス
    • 同僚にインタビューされる
    • 同僚と仲良くしておく
  • スキルの証明
    • コーディング試験
    • 作ったもののデモ
    • LinkedInのアカウント
  • 英語力は不要
    • 技術系の英語は、英語の技術書、英語の記事が読めれば
    • 投資系の用語はわかってないと身を守れない
  • 計画を立てるのが大事

グローバルIT企業での働くまで・働いてみての学び / @yando さん

  • JD (Job Description)
    • よく読むこと
    • 日本と傾向が違う
    • 具体的にどういう人を求めているか、しっかり書かれている
    • minimum qualifications, Preferred qualifications
  • BA/BS degree in Computer Science
    • 学位、学士の条件
    • equivalent practical experience (実務経験3年を、在学1年に換算。10年働けば O.K. )
  • A strong sense of ownership
    • スタートアップ系
  • Bachelor's degree in computer science
    • 文系いらない
  • Requriements にふわっとしたことが書いており、Optionalで言語の指定
    • 日本の求人は逆になっている
  • 海外で働く。ビザ。学位が問題となる
  • 理系を出ていれば若いうちからチャンスがある
  • 文系出身の場合、アプローチを考える必要がある
  • 修士、博士、特許はアピールポイント
  • CV を準備する
    • JDに対応する内容
    • カバーレターはIT系では要らないのでは
    • Linkedin のプロフィールが大事
    • SEO対策的なアピールはよくない。行きたいところに合わせる
    • 三者のチェックを(英語得意な人に)
  • リファーラル
  • Interviewにはしっかりと準備
    • あきらめないこと
    • 暗記問題ではない。自力を伸ばすこと
    • 無言で回答するのは良くない。インタラクティブ
  • 英語 : 非ネイティブが多い
    • 苦手意識を取ることが大事
    • 緊張しながらやっては意味がない
    • 開き直ってから伸びる
  • 多様性
    • チームメイトの年齢は知らない。履歴書にも書かない
    • 法的に問題があることも
  • 残業
    • 納期に余裕を持たせるために残業すると注意される
    • プランニングに影響する。残業ありきのプランを立ててしまう
    • 仕事ができない、と見られることもある
  • glassdoor
    • 様々な企業の報酬体系など
    • 日本と違う。交通費の支給などがなかったり。手取りは変わらない??