-
Notifications
You must be signed in to change notification settings - Fork 38
20210125
David Chung edited this page Jan 25, 2021
·
1 revision
- 면접 / 면접준비로 바쁘게 지냈다
- 면접보면서 느낀 점:
- 기본기에 충실해야... 공부를 더 해야겠다
- ELK, DB, query optimization...
- 아이템 54의 경우는 크게 어렵지 않았다
- best practice를 현업 코드베이스에 적용하기에는 어려움이 있다...
- 개강
- 알고리즘 열심히 풀고 있음 (leetcode + 풀이방법, 생각)
- 코드스쿼드 cs10 너무 빡세다...
- cs10 공부(RxJava)
- List는 맨처음, 맨마지막 인덱스의 element를 반환하는 메서드가 없음.
- API에서 제공하는 건 핵심적인,필수적인 메서드
- 이 API를 통해서, 클라이언트가 자신에게 필요한 메서드를 조합해서 사용할 수 있도록 만들어주는 게 낫다.
- 너무 다 만들어주면, API 자체가 지저분해진다.
- 리스코프 치환원칙
- 열거타입 사용은 가독성 뿐만 아니라 확장성도 생각하는 것.
- inexact method reference
- submit method가 overloading 되어있는 상태 (Runnable or Callable)
- Runnable return 타입 없음. Callable은 있고
- 같은 위치에 functional Interface를 받을 수 있도록 오버로딩이 되어있는 상태
- println, 여러개로 오버로딩이 되어있는 상태의 메서드
- method reference를 이용하면, 매개변수가 있을 수도, 없을수도 있으므로 컴파일러 에러
- Thread::yield는 반환하는 리턴값이 없으므로(Runnable) -> 컴파일러 에러 발생하지 않음.
- Thread::currentThread, 반환 값 있음(Callalbe) -> 컴파일러 에러 발생하지 않음
- 가변인수를 사용하면 배열을 할당해서 성능이 떨어지기 때문에 정적 팩터리 메서드를 활용하자.
- null 처리를 하게되면 오류 처리를 위해서 클라이언트 로직이 더 복잡해지기 때문에 빈 컬렉션을 반환하는 것을 지향하자.
- null을 반환해서 NullPointerException을 런타임에 만나는 것보다는 Optional을 핸들링하는 것을 강제하자.
- Kotlin이 좋다.