Post

코딩 테스트 후기 - 해커 랭크

서론

채용 시장에 진입한지 1주일 차, 첫코딩 테스트를 치뤘다.

이메일로 응시 링크가 전달왔고, HackerRank 라는 플랫폼에서 영문으로 응시하는 테스트였다. 처음 응시해보는 코딩테스트이니 너무 겁먹지 않고 응시 해보려고 노력했다.

HackerRank 사이트를 둘러보는데 요즘 보는 드라마 The Office 회사가 Job Board 에 있어서 반가웠다ㅋㅋㅋ https://yubinshin.s3.ap-northeast-2.amazonaws.com/2023-12-15-hacker_rank/%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7+2023-12-15+195926.png

요즘 자바와 스프링으로 프로젝트를 하고 있어서 JavaScript, TypeScript 로 코드를 작성하는게 색다르고 재밌었다. 전체 영어 지문의 압박이 있긴 했지만 개발 관련 철자는 눈에 보여서 다행이었다.

후기

  1. Prefix Expression Expression evaluation > postfix, prefix, infix notation 수식 변환 계산 관련 문제였다. 백준 : https://www.acmicpc.net/problem/1918

  2. bit XOR 연산자 비트 논리 연산자를 사용하는 문제라는 것은 파악했으나, 영어 해석과 표를 보고 독해 시간이 오래 걸리겠다 싶더라. 시간이 남았을 때 풀기로 하고 일단 패스!

    시간 부족으로 아쉽게 풀이하지 못 했으나 만나본 김에 프로그래머스와 백준에서 좀 더 풀이 해봐야 겠다. 조만간 다시 보자!

  3. REST API 1 url 쿼리 파라미터를 사용해서 데이터를 질의해오는 문제였다.

    처음에 코드에디터에서 구현 부 빼고는 fold 되어있어 내장 fetch 함수로만 진행해야하나 싶어서 헤맸다.

    하지만 ide로 코드 전문을 복붙해보니 fetch, axios 등 라이브러리는 모두 설치 되어있었다. 대충격!

    total_pages 전체를 순회하며 필터링 하는 문제였는데 초기화용 api 요청을 줄일 수 있을까 하다가 do…while 문을 사용해 해결했다. 모든 테스트 케이스 통과 완료!

  4. Javascirpt 문법 문제
    • 클로저로 함수 내부에 객체를 캡슐화하고 상태 유지 할 수 있다.
    • 함수(메서드)도 일급 객체이기에 함수의 반환 값이 될 수 있다.
    • 캡슐화한 객체는 해당 함수의 실행 컨텍스트가 종료된 후에도 return 한 메서드로 접근할 수 있다. 요즘 자바를 공부하다 보니 오랜만에 만나보는 클로저와 전역 함수 사용 문제였다ㅎㅎ 통과 완료!
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     function example() {
         let str = '';
    
         return {
             greeting(greeting) {
                 str += greeting;
             },
             shakeHands() {
                  str += "악수하자";
             }     
         };
     }
    
  5. REST API 2 api 요청엔 성공했으나 아무리 쿼리문을 이리 바꾸고 저리 바꿔봐도 테스트 케이스와 1씩 차이가 났다. 문제가 요구하는 답안이 모호하다고 느꼈는데, 아마 영어 지문이다 보니 내가 놓친 조건이 있었나 싶다.

소감

처음 치뤄 보는 라이브 코딩테스트였는데 자극이 되는 좋은 경험이었다.

이번에 느낀 점은 REST API 를 소비하는 능력도 열심히 키워야 겠다는 것이다.

개발을 공부하는 1년 동안 나는 API 를 생산하는 데 시간을 많이 보냈었다.

OAUTH 와 Map API 를 구현하긴 했지만 한번 메서드로 구현해두면 잘 고장나지 않아서 다시 볼 일이 많이 없었다.

깃허브나 디스코드 api 를 사용할 때도 이렇게 바닐라 자바스크립트보단 파이썬이나 다른 언어를 많이 썼고 말이다.

그래서 api 의 소비자로서 요청을 보내는 데엔 익숙하지 않았던 거 같다.

하지만 분명 현업에서 서비스를 만들다 보면 외부 API를 받아오는 경우도 많을 거 같아서 틈틈히 다양한 언어로 연습 해둬야겠다고 느꼈다.

앞으로 더 정진해야 겠다!

This post is licensed under CC BY 4.0 by the author.