[{"data":1,"prerenderedAt":45},["ShallowReactive",2],{"post-document:\u002F면접\u002F2026\u002F08\u002F14\u002F면접질문\u002F":3},{"id":4,"title":5,"body":6,"categories":31,"date":33,"description":12,"extension":34,"image":35,"key_concepts":35,"last_modified_at":35,"legacyPath":36,"meta":37,"navigation":39,"part":35,"path":40,"published":39,"robots":35,"seo":41,"series":35,"stem":42,"strengths":35,"summary":35,"tags":43,"tradeoffs":35,"__hash__":44},"posts\u002Fposts\u002F면접\u002F면접질문.md","면접질문",{"type":7,"value":8,"toc":27},"minimark",[9,13,16,19],[10,11,12],"p",{},"\u002F\u002F (동기, blocking),(비동기, non-blocking) - 요청흐름",[10,14,15],{},"1번 문제: Spring IoC와 의존성 주입\n현재 UserController에는 다음 코드가 있습니다.\n@RequiredArgsConstructor\npublic class UserController {\nprivate final UserService userService;\n}\n그리고 UserService에는 현재 @Service가 없으며, UserServiceConfig의 @Bean 메서드가 객체를 생성합니다.\n다음 내용을 본인의 말로 설명해보세요.\nUserController 객체는 누가 생성하나요?\nUserService 객체는 누가, 어디에서 생성하나요?\nuserService 필드에는 어떻게 객체가 들어가나요?\n이 과정에서 IoC와 DI는 각각 무엇을 의미하나요?\n@RequiredArgsConstructor가 UserService 객체까지 생성해 주는 것인가요?",[10,17,18],{},"낙관적 락은 어떤 방식으로 동시성 제어를 수행하는지 설명해보자",[10,20,21,22,26],{},"낙관적 락은 데이터에 직접 락을 걸지 않고, ",[23,24,25],"strong",{},"엔터티의 @version 값을 이용하여 동시성을 제어한다",". 여러 트랜젝션이 동일한 버전의 데이터를 수정하면 먼저 반영된 트랜젝견만 성공하고 버전이 증가하낟. 이후 트랜젝견은 자신이 조회한 버전과 DB의 현재 버전이 달라 수정에 실패하며 OptimisticLockingFailureException이 발생하고 롤백된다. 실패한 작업을 최신 데이터 기준으로 처리하려면 예외 발생 후 새로운 트랜잭센에서 데이터를 다시 조회하여 재시도 해야한다.",{"title":28,"searchDepth":29,"depth":29,"links":30},"",2,[],[32],"면접","2026-08-14 10:19:08 +0900","md",null,"\u002F면접\u002F2026\u002F08\u002F14\u002F면접질문\u002F",{"layout":38},"post",true,"\u002Fposts\u002F",{"title":5,"description":12},"posts\u002F면접\u002F면접질문",[],"E00d9tIQOfktM3CCh_qozkwl1HMac8hD1BzsORD2CKU",1788744783171]