21卒 インターンES
エンジニア
21卒 | 筑波大学大学院 | 男性
-
Q.
あなたが最近注目しているインターネットサービス(ゲーム含む)を教えてください。またその理由と改善点などがあれば記入してください。(400字以内)
-
A.
Inkdrop。このサービスはマークダウン記法で記述したドキュメントを管理するプラットフォームである。ドキュメント管理プラットフォームとしてはEvernoteやOneNoteがメジャーだが、Inkdropはマークダウン記法で記述できるという点で他のサービスと差異を生んでいる。また、プラグインを追加することで機能を追加することができる。例えばmathパッケージを入れることで数式をLaTex形式で入力することができる。またこのパッケージの管理をnpmライクなipmというパッケージマネージャーが行うことでパッケージ管理をストレスフルに行うことができる。改善点として挙げられるのはエディターとしての機能の少なさが挙げられる。(Intellijのctr-gで使える次の単語選択機能等) 続きを読む
-
Q.
インターネットサービス(ゲーム含む)の企画、開発、運用経験があれば教えてください。チームで取り組んだものであれば、あなた自身の役割と成果を具体的に記入してください。(400字以内)
-
A.
アプリ向けのSNSサービスの立ち上げ、開発、運用を行った。サーバーサイド、フロントエンド、インフラの分野を担当している。メーリングやキューイングなど必要なインフラの策定も行っている。メール送信など重い処理はSQSにキューイングを行い、SESでメール送信を行った。ランキング表示高速化のためにランキング順位を1時間ごとに計算し、ユーザーがランキング表示する際にはキャッシュから結果を取得するように実装を行った。フロントエンドでは表示高速化のためwebpackでjsとcssを圧縮し、難読化も行っている。UX向上のためにCookieを用いて過去に表示したタブを復元する処理を行った。今後サービスに課金機能をつける予定もあり、セキュリティ面ではSQLインジェクションやXSS、CSRF対策を念頭に置いて実装を行っている。 続きを読む
-
Q.
学業やゼミ、研究室で取り組んだ内容について教えてください。(400文字以内)
-
A.
私はMongoDBにおける実体化ビュー選択に関する研究を行った。MySQLなどのRDBでは複数のテーブルを結合する際や集計する際にI/O時間が増加する傾向にある。高速化する手法としてはインデックス,ビュー,実体化ビューなどが挙げられる。ビューはよく問い合わせのあるクエリを保存しておく機能だが、保存する実体はSQL文である。一方実体化ビューは結合や集計したテーブル自体を保存しておく手法である。実体化ビューを使用することで結合や集計処理をスキップすることができ、Read時間は速くなるが、UpdateやInsertされた際に実体化ビューも操作する必要があり、処理時間が増える傾向にある。そのためどの部分を実体化ビューにするかの選択は慎重に行う必要がある。この研究ではこの選択を自動化し、以前までRDBで導入されていたこの概念をNoSQLのDocument指向型DBであるMongoDBで実験を行った。 続きを読む