ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 우선순위 큐, Comparable vs Comparator
    Backend/개발 2021. 7. 14. 22:00
    반응형

    미리보기용 키워드 : #우형_세미나 #우선순위_큐 #comparator #comparable 

     

    우선순위 큐

    우선순위큐를 써야하는데 커스텀 비교함수를 사용하는방법을 몰라서 레퍼런스코드에 나온 heap으로 구현한 우선순위큐 자료구조 구현해서 사용했었다.

    이참에 비교함수 직접 작성하는 법을 알아봤다.

    우선순위큐는 FIFO인 큐와 다르게 특정한 우선순위를 가진 값을 먼저 꺼내오는 자료구조이다. 보통 heap으로 구현하므로 시간복잡도는 O(NlogN)이다.

    그리고 무작정 우선순위큐를 사용하는것 보다, 더 편하게 배열, 리스트에 더해준 후 한번 정렬하고 꺼내오는게 나을수도 있다.

     

    Java Comparable 과 Comparator를 사용하는 방법

    Comparable vs Comparator
    그냥 쓰는줄 알았는데.. 사용할 때 관점의 차이가 있었다. 

    Comparable

    • Comparable<> 인터페이스를 implements 하고 compareTo 함수 override 필요
    • 기본적으로 적용되는 정렬 기준 이 되는 메서드를 정의하는 인터페이스
      • return 1인 경우 순서 보존. 0이거나 -1인경우 두 값 swap

    Comparator

    • Comparator<> 인터페이스를 implements 한 후 compare() 메서드 override 필요
    • 기본 정렬 기준과 다르게 정렬 하고 싶을 경우 사용하는 인터페이스
      • return 1인 경우 순서 swap . 0이거나 -1인경우 두 값 순서 보존

    출처 깃허브블로그 [Java] Comparable와 Comparator의 차이와 사용법
    https://gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html


    우형 세미나

    신입은 어떻게 경험을 준비하냐
    의미없는 클론코딩이나 TIL보다도 정말 한 사용자를 위해서, 사용자가 만족할만한 그런 개발을 한 경험을 어필하는 것

    문제해결력을 높게 보고 있기 때문에 , 피처를 잘 개발 했다가 아니라
    어떤 고객의 문제를 해결하기 위해서 이런 기능을 제공했다
    이런부분을 서술해서 적어주기를 바랍니다.

    인재영입팀 세션

    개발직군 채용 프로세스
    서류전형 -> 코딩테스트 - 1차면접(실무 1

    1시간 반) - 2차면접(30분

    1시간, 문화가 잘 맞는지 + 1차면접 토대로 추가 검증)

    총 1.5개월에서 2개월 정도의 기간

    알고리즘 쉽게 보다가 실수할 수 있는 어떤 여지를.. 주는 편

    면접은 대부분 화상진행
    복장 규정은 편안하고 단정, 깔끔!

    Q. 면접하면 어떤 이야기 많이 하나요 ?
    1차면접 - 전반적인 플젝 어떻게 하셨는지 꼼꼼하게.
    문제를 어떻게 해결을 했는지, 외부나 같이 일하는분들과 커뮤니케이션을 어떻게 했는지

    좋은개발자 ?
    우아한 형제들 조직문화 "평범한 사람들이 모여서 비범한 성과를 내는곳 "
    평범한 사람들이지만 함께모여서 혼자서 일하는것보다 더욱 더 큰 성과를 낼 수 있는것을 지향하고있음

    협업, 배려, 협동, 스타보다 팀웍, 잡담은 경쟁력

    개발, 디자인, 기획 다 관심가지고 도울게 없는지 찾아가보는

    끊임없이 노력하는 개발자(평생직업!)

    개발자를 코딩하는 사람으로 한정짓지는 않는다. 코드를 통해서 비즈니스를 만들어 가고, 그 비즈니스로 성과를 내는 분
    비즈니스 자체를 연구하고 거기에 나오는 문제를 해결하려고 하는 분
    -> EO 채널 김범준 대표님 영상에서 볼 수 있을것이다.

    개개인의 실력이 중요한데 한국의 문화에서는 나이와 연차라는 개념이 존재

    서류전형 자기소개서와 경력기술서를 잘 쓰는 노하우
    자기소개서 3가지 항목

    1. 어떤식으로 개발 역량을 기르고 있는지 , 자기계발 방식
    2. 대표 프로젝트
      프로젝트 중심으로 업무 수행을 많이 하는데,
      프로젝트에 대해서 구체적으로
      프로젝트 명, 기간, 기술스택
      그 프로젝트에서 어떤 기여를 했는지 구체적으로
      프로젝트를 인해서 어떠한 비즈니스 성과가 났는지(정량적, 정성적, 구체적)
      프로젝트에서 아쉬웠던점, 개선 (회고형식)
    3. 시그니처질문 - 좋아하는 시나 소설 노래 영화를 통해서 본인을 소개하시오
      그 당시에 어떤 생각을 가지고 왜 지원을 하고 무엇을 좋아하는지 , 좋아하는 소재로

     

    마요 service에 transactional 어디에 넣는지 고민해야함

    예외처리 해야될 부분 -> id가 존재하지 않을때
    근데 보통 id를 불러온다음 그거에 대해서 디비에서 가져오니까 없을 경우가 거의 없는듯. 만약에 중간에 디비에서 삭제되서 안보이게 되면 표가 좀 일그러지는데..

    댓글

Designed by Tistory.