(2018.12)온더 공개채용 공고

이더리움 블록체인 R&D스타트업 온더에서 개발자(스마트 컨트랙트, dapp, 코어 개발자)를 모십니다.

안녕하세요. 이더리움 블록체인 R&D 스타트업 온더입니다 :)

온더는 주요한 의사결정 과정에서 구성원의 성장과 배움을 최우선 기준으로 삼고 있습니다. 더불어 저희는 반년마다 공지되는 <공개채용질문>을 통해 팀이 여태 걸어온 길과 앞으로 걸어갈 길에 대한 기술 지식을 팀 내외부에 직/간접적으로 공유 함으로써 구성원 뿐만 아니라 이더리움 생태계 전반의 성장에 도움을 줄 수 있다고 믿고있습니다.

오늘은 2019년을 함께할 팀원을 찾고자 공개 채용에 대한 내용으로 찾아뵙게 되었습니다. 팀에 합류하는 절차는 다음과 같습니다.

1. 서류

경력, 학력, 나이, 성별, 국적, 출신지, 성장배경은 전혀 묻지 않습니다. 이력서도 안받고 자기소개서, 포트폴리오도 안받습니다. 온더가 제시한 질문들에 답하는 것에만 집중하시면 됩니다.

질문 사항에 답을 하고 메일(info@onther.io)로 제출합니다. 모든 문항에 답을 할 필요는 없으며 아시는 부분만 적거나, 필요하다면 검색을 통해 답을 적어도 무관합니다. 다만 면접 과정에서 답변한 문항에 대한 질의가 오고갈 수 있습니다.

구체적으로 어떤 일을 하고자 하는지, 뭘 하고 싶은지는 지원자 스스로 결정하시고 해당하는 내용(원하시는 처우나 근무형태를 구체적으로 적어주시면 좋습니다.)을 메일에 첨부하시면 됩니다.

일정은 질문 게시 직후 3주간 유효하며, 이후 답변을 취합한 이후에 개별적으로 면접제안을 드리게 됩니다.

2. 면접

지원자분과 팀이 서로 궁금한 점을 나누는 단계입니다. 같은 일을 하는 팀원의 2/3 이상이 긍정의견이 나온 이후에 지원자분의 의사를 여쭤본 후 다음 협의 단계로 넘어가게 됩니다.

3. 협의

처우, 근무시작일 등의 협의를 합니다.

4. 근무 START!

기본적으로 채용의 절차는 상기 사항과 같습니다.

이제 서류 전형에서 활용되는 질문들을 공개하도록 하겠습니다 :)


서류전형 질문 사항

  1. (PLASMA)트루빗 검증게임(Truebit Verification Game)이란 무엇인가요
  2. (Solidity)솔리디티의 프록시 패턴(Proxy Pattern)에 대해서 설명하고, 이에 대한 활용 예를 적어주세요.
  3. (Solidity)솔리디티 abi encoder v2의 주요 스펙과 활용법에 대해서 설명하고, 예시코드를 기술해주세요.
  4. (EVM)Transaction Execution 과정을 pseudocode로 나타내고, intrinsic gas와 upfront cost에 대해 자세히 서술해주세요.
  5. (Solidity)Checks-Effects-Interactions Pattern에 대해 자세히 설명해주세요.
  6. (Solidity)기본자료형, mapping, array, struct 타입의 상태 변수가 각각 storage에 어떻게 저장되는지 설명해주세요.
  7. (Solidity)call, delegatecall의 차이점에 대해 자세히 서술해주세요.
  8. (Network)이더리움에서 rpc라는 기술이 어디에 쓰이는지 서술해주세요. 만약 geth로 private chain을 구성할 때 rpc설정에서 보안적인 측면에서 주의해야 할 점이 무엇인가요?
  9. (Core)Precompiled contract 중 sha256, ecrecover 컨트랙트의 역할에 대해 서술해주세요.
  10. (Dapp)분산 거래소인 Etherdelta의 작동원리에 대해 서술해주세요.
  11. (Core) EVM의 stack이 실제 임시로 저장되는 장소는 어디인가요?
  12. (Core)EVM의 특징 중 deterministic에 대해서 서술해주세요.
  13. (plasma)다음 글의 댓글을 읽고 핵심 쟁점을 정리하고 느낀점을 적으세요.[https://ethresear.ch/t/plasma-world-map-the-hitchhiker-s-guide-to-the-plasma/4333/19]
  14. (ZKP)zero-knowledge proof의 개념에 대해서 설명해주세요
  15. (ZKP)zk-SNARKs란 무엇인가요? 구체적인 작동원리와 그 장단점에 대해 서술해주세요
  16. (ZKP)zk-STARKs란 무엇인가요? 구체적인 작동원리와 그 장단점에 대해 서술해주세요
  17. (PLASMA)Plasma에서 Data availability란 무엇을 의미하나요? 구체적인 예시와 함께 설명해주세요.
  18. (PLASMA)다음의 Plasma 모델에서 Data availability가 어떻게 해결되었는지 서술해주세요. (Plasma MVP, Plasma Cash, More Viable Plasma, Plasma Snapp)
  19. (PLASMA)Plasma EVM의 Data availability 솔루션에 대해 서술하고, 해당 솔루션의 장점과 단점은 무엇인지 서술해주세요.
  20. (Ethereum 2.0)Ethereum 2.0의 구성요소인 샤드체인 비콘체인 eWasm에 대해 설명해주세요
  21. (web3)지원 하신 분의 web3 사용 경험에 대해 서술해 주세요
  22. (Vyper)Vyper의 특징에 대해 서술해 주세요
  23. (Dapp)가장 인상깊은, 혹은 주목할만한 Dapp 프로젝트는 무엇입니까? 간단히 프로젝트에 대해서 설명하고 이유에 대해서 써주세요
  24. (UX)Gas Abstraction의 종류에 대해 아는대로 서술하고, 공통점과 차이점을 서술해주세요.
  25. (Plasma)Plasma EVM의 트랜잭션 수수료 모델인 Stamina와 최소 가스 가격(Minimum Gas Price)의 의미를 서술하고 동작 과정에 대해 간단히 설명하세요.
  26. (ICO)Interactive ICO(IICO)의 도입 배경과 Sale의 과정을 간단히 서술하세요.
  27. (Plasma)Layer-2 솔루션으로서 플라즈마가 갖는 의미와 플라즈마의 탈중앙성이 확보되는 원리를 Exit, Challenge 절차와 연관지어 서술하세요.
  28. (Solidity)Contract C 가 Library L 을 참조할 때 C 를 배포하는 방식은 1) C와 L을 한 번에 배포하거나 2) L 을 배포하고 C 를 배포하는 TX 에서 L 의 주소를 이용하는 방식이 있습니다.
    C를 배포하는 TX는 1) 에서와 2) 에서 어떻게 다를까요? 그리고 1) 방식과 2) 방식을 이용했을 때 각각의 `web3.eth.getCode(C.address)` 은 구조적으로 어떻게 다를까요?
    또한 truffle 의 library link 과정을 설명해주세요.
  29. (Ethereum 2.0)샤딩에서 고려하는 security asseumption 을 정의하고 샤딩의 어느 부분에서 이를 사용하나요?
  30. (Ethereum 2.0)Erasure coding 을 설명해주세요. 이 문제가 샤딩의 Data availability 문제를 완벽하게 해결할 수 있나요? 해당 솔루션이 사용하는 security assumption 은 무엇인가요? 그리고 어느 상황에서 해당 assumption 이 깨질 수 있나요?
  31. (Solidity)EVM Bytecode를 기계어, java bytecode 와 비교했을 때의 장단점을 정의해주세요.
  32. (Security)MyEtherWallet 의 DNS 해킹 사건은 블록 체인 security 와 어떤 관련이 있습니까?
  33. (Security)go-ethereum 의 eclipse attack 을 설명해 주시고, 해당 공격이 이더리움 네트워크에 어느 영향을 미쳤는지 서술해주세요.
  34. (Core)Merkle Mountain Range 를 설명하고 (Binary) Merkle Tree 와의 장단점을 설명해주세요.
  35. (Security)아래 코드의 문제를 서술하고 해결책을 제시해주세요.
    https://gist.github.com/4000D/869d53ab0e6af7de131dbc17b3b0f897
  36. (Ethereum 2.0)VDF(Verifiable Delay Functions)의 정의와 Ethereum 2.0에서 역할은 무엇인가요?
  37. (Ethereum 2.0)Wesolowski 와 Pietrzak 이 접근(제시) 하고 있는 VDF의 차이점은 무엇인가요?
  38. (Whisper)Whisper 에서 메시지를 보내는 두가지 방식이 있습니다. 각각의 방식과 메시지 전송에 사용되는 두가지 형식의 키에 대해 서술해 주세요
  39. (Tokenomics) 토큰 시뇨리지란 무엇인가요? 토큰의 분배의 관점에서 이더리움과 이오스의 시뇨리지를 비교/분석 해주세요.
  40. (Tokenomics) 공유자원과 경매의 관점에서 이더리움의 Gas Price책정 정책을 분석해주세요. 왜 특정한 시점에 가스가격이 폭등할까요?
  41. (PlasmaEVM) 플라즈마 EVM의 토큰 이코노믹 페이퍼에서(https://hackmd.io/s/rJgPxWYTm) 최소가스가격(MGP)의 역할과 의의에 대해서 설명해주세요.
  42. (PlasmaEVM) 플라즈마 EVM의 토큰 이코노믹 페이퍼에서 오퍼레이터의 부정행위는 일어날까요? 일어난다면 혹은 일어나지 않는다면 그 이유에 대해서 적어주세요.(Hint : 데이터 가용성)

이상으로 온더의 공개채용 서류 전형 질문들이었습니다.

지원자 분들께서는 위 질문들에 대한 답은 온더의 공개 이메일(info@onther.io)에 제출해주시면 됩니다.

더불어 궁금한 점이 생기시면 다음 채널을 통해 연락주세요 :)

감사합니다.

Github : https://github.com/onther-tech
Facebook : https://www.facebook.com/OntherInc
Telegram : @onther_blockchain
Blog : https://medium.com/onther-tech
E-mail : info@onther.io