- 주력 언어가 뭔지
- 스프링 버전이랑 자바 버전 어떤거 사용하고 있는지
- 인증 시스템 쪽 프로젝트 하셨다고 하셨는데 해당 프로젝트에 대한 전체적인 소개
- OAuth라는 조금 다른 부분이 있는데, 이 엑세스 토큰을 굳이 JWT토큰으로 제공한 이유가 뭔지
- JWT 토큰이 탈취된다면 어떻게 하실건지? 이거를 방지하려면 어떻게?
- JWT토큰은 서버가 아닌 클라이언트 쪽에선 어떻게 저장하고 있는지 ?
- 서버 구조에 인증 단계는 있는데 인가 단계가 생략되어있는 구조인데 인가 단계가 왜 생략되어 있는지?
- 스프링에 factoryBean과 beanFactory의 차이
- 스프링의 인터셉터와 필터 설명
- 실무에서 써봤는 지?
- 컨트롤러 단에서 혹시 "redirect:", "forward: " 써봤는지 앞에 필터와 인터셉터가 앞에 두가지를 썼을때 어떻게 다르게 동작하는 지 설명
- 스프링에서 aop도 써봤는지?
- 테스트할때 람다와 for문 둘중 뭐가 빠른지확인하려고 써보셨다고 했는데 둘중에 뭐가 더 빨랐는지 그리고 그 이유가 왜 그런거 같은지?
- 람다는 내부적으로 iterator 객체를 사용한다.
- Linked List의 경우 for문을 사용하면 속도가 굉장히 느려진다.
- 그 이유는 for문의 경우 list.get(i)를 통해 해당 인덱스에 접근을 하기 때문이다.
- forEach가 빠른 이유는 Iterator를 사용하기 때문 (당연한 이야기..)
- Array List의 경우 for문이 살짝 더 빠르긴 한데 엄청 차이가 나지는 않음.
- Array는 꽤 차이가 남. 1.4배 가량
- Array List와 Array에서는 왜 for문이 더 빠를까? → 이터레이터 객체를 순회하는 비용보단 당연히 메모리에 직접 접근하는게 더 빠를테니깐
- https://siyoon210.tistory.com/99
- 회사에서 git 사용하고 있다면 브랜치 정책이랑 배포는 어떻게하고 배포전에 검증은 어떻게 하는지
- 개발용 서버를 따로 운용하고 있는 지?
- 개발용서버를 둘이 동시에 개발을 할때 여러명이 배포를 하면 먼저 배포된 기능이 사라지거나 이럴 수도 있는데 그런 경우를 어떻게 피하고 있는 지
- 프로젝트를 하면서 로그를 어떻게 쌓고 어떻게 시각화 했는 지 설명
- 장애감지는 어떻게 하고 있는 지?
- 어플리케이션 서버가 있고, 거기에 데이터베이스가 한대 있는데 데이터 베이스에 부하가 많이 걸려있는 상황, 이거를 해결하려면 어떤 방법이 있을 지?
- 일반적으로 디비에 부하가 가고있다는 상화을 어떻게 감지할 수 있나요?
- aws 클라우드 워치로 모니터링 하고 있다고 말씀드렸고, 그거 말고 정말 서버만 있을때 어떻게 할건지 여쭤보심 아마 show status; 쿼리 같은 걸 말씀드렸으면 좋았을 것 같음.
- DI가 뭔지 설명
- 실제 스프링 사용하면서 DI로 인해 뭔가 이점을 본적이 있는 지?
- 자바 gc 관련된 옵션을 튜닝해보거나 힙덤프를 떠보거나 스택덤프를 떠본적 있으신지?
- 상황 말씀드렸고, 아마 그때 jpa query cache padding 문제 였을 것 이라고 말씀해주시면서
- jpa query cache에 대해서 아는게 있는 지 여쭤보심
- 해당 상황을 쿼리를 나눠서 여러개 보내는 것 말고 다른 방법은 없었을 까?
- 힙덤프 뜨는 명령어 아시는 지?
- jmap이 맞는데 jmap을 런타임 서버에 직접 실행하셨는지?
- 말씀하신건 메모리 릭으로 oom 상황이었는데 그것 외에는 jvm 옵션을 튜닝해보거나 이런 적은 없으신 지?
- 사내에서 jvm튜닝 옵션을 넣고 있는 게 어떤게 있는 지?
- 도커파일 만들때 도커안에서 빌드를 하고 있는 것인지? 도커 레이어를 활용하기 위해서는 쌩 jar를 복제하는 방법 말고 다른 방법이 있는 데 그 방법을 알고 있는 지?
- 개발하시는 서버 어플리케이션에서 서버투서버 통신은 어떻게 하고 있는지
- RestTemplate쓸때 에러 핸들링하는 게 좀 불편한 부분이 있는데 소개해주실만한 부분이 있는지 404 낫파운드 같은 걸 잡으려면 어떻게 하시는지
- 트라이 캐치로 묶어서 하는 방법 말고 다른 방법 아시는게 있는지 ? 몇가지 더있는데
- @RestControllerAdvice = @ControllerAdvice + @ResponseBody.
- 컨트롤러에서 익셉션 헨들링 어케 하고잇는지
- 레스트 컨트롤러어드바이스랑 그냥 컨트롤러어드바이스랑 같이 선언되어있으면 어떤 일이 벌어지는 지 아시는 지?
- 글로벌 예외를 둘이서 같이 잡아가려고 하겠지.
- 그렇다면 명시적으로 레스트 컨틀로러어드바이스에다가 @RestControllerAdvice(annotations = RestController.class)로 셋팅해서 RestController에 대한 예외만 받아온다던가 할 수 있겠지.
- Optional에서 orElseGet과 orElse가 있는데 둘의 차이와 원리 설명...?
- 그러면 orElseget만 스면되는데 orElse는 왜 있을까여.?
- orElse는 옵셔널 객체의 상태가 null이든 아니든 항상 수행된다.
- orElseGet은 내부 객체가 null 일 때만 내부적으로 실행된다. orElseGet의 경우 Supplier(함수형 인터페이스)를 인자로 받는다.
- 프로그래밍 언어가 컴파일 언어랑 인터프리터 언어로 나뉘는데 이 두가지 언어에 대해 설명해주세요.
- 디비의 인덱스 를 쓰면 검색이 빨라지는데 모든 컬럼에 인덱스를 걸면 빠르고 좋은데 왜 그렇게 안할까요?
- 개발하시면서 디비 트랜잭션 관련 관리했을 때 격리수준, isolation level에 대해서 설명해주세요
- 멀티 프로세싱과 멀티 스레딩의 차이 / 우리가 주로 멀티 스레딩으로 구현하는 이유
- EZ
- 멀티 프로세스와 멀티 스레딩의 차이 설명
- 멀티 스레딩의 컨텍스트 스위칭 비용에 대해 설명
LIST
'Developer > Spring & Backend' 카테고리의 다른 글
| CDN이 무엇인지 설명해주세요. (2) | 2025.05.20 |
|---|---|
| 시스템 콜이란 무엇인가요? (0) | 2025.05.20 |
| event.target과 event.currentTarget의 차이점은 무엇인가요? (0) | 2025.05.19 |
| CPU 스케줄링에 대해서 설명해주세요. (0) | 2025.05.19 |
| 디스크 접근 시간에 대해서 설명해주세요. (2) | 2025.05.15 |
