오늘의 문제 1.
자바스크립트에서 어떻게 호이스팅이 가능한지에 대해서 설명해주세요.
키워드) 컴파일 단계, 실행 단계
자바스크립트 엔진이 코드를 실행하기까지 컴파일 단계와 실행 단계 두 단계를 거치기 때문입니다. 컴파일 단계에서 함수와 변수 선언이 메모리에 먼저 할당되고, 실행 단계에서 실제 코드가 실행됩니다. 여기에서 변수가 할당된 값을 가지게 되고, 함수가 호출되면 그 안의 코드가 수행됩니다. 이를 통해 코드 내에서 선언 위치와 상관없이 변수를 사용할 수 있는 호이스팅이 가능한 것입니다.
오늘의 문제 2.
useEffect와 useLayoutEffect의 차이점에 대해서 설명해주세요.
키워드) 실행 타이밍, 비동기 vs 동기, DOM 업데이트 시점
`useEffect`와 `useLayoutEffect`는 모두 렌더링 후 작업을 수행하지만 실행 타이밍이 다릅니다. `useEffect`는 화면이 그려진 후 비동기적으로 실행되어 데이터 fetching이나 이벤트 리스너 등에 사용됩니다. `useLayoutEffect`는 DOM 업데이트 직전에 동기적으로 실행되어 DOM 크기 측정이나 레이아웃 조정 등 화면 깜빡임이나 불필요한 재렌더링을 방지해야 하는 작업에 사용됩니다. 기본적으로는 `useEffect`를 사용하고, 화면에 직접 영향을 주는 작업만 `useLayoutEffect`로 처리하는 것이 성능상 좋습니다.
실행 순서의 차이:
useEffect = 그림 그린 후
- 화면에 그림을 다 그리고 나서 실행
- 사용자가 화면을 볼 수 있는 상태에서 작업
- 데이터 가져오기, 이벤트 등록 등
useLayoutEffect = 그림 그리기 전
- 화면에 그림을 그리기 직전에 실행
- 사용자가 보기 전에 미리 조정
- DOM 크기 측정, 위치 조정 등
오늘의 문제 3.
웹 접근성의 개념과 개선 방법에 대해 설명해주세요.
키워드) 동등하게 이용, 시멘틱 태그, ARIA 속성, 키보드 탐색
웹 접근성은 장애인과 고령자 등 신체적 제약이 있는 사용자를 포함해 모든 사용자가 웹 페이지를 동등하게 이용할 수 있도록 보장하는 개념입니다. 개선 방법으로는 시맨틱 태그를 사용한 명확한 HTML 구조 작성, ARIA 속성을 활용한 스크린 리더 지원, 키보드 탐색이 가능하도록 포커스 관리 등이 있습니다. 다만 모든 장애 유형을 완벽히 대응하기는 어려우므로, 실제 사용자 경험을 파악하고 우선순위를 정해 점진적으로 개선하는 것이 현실적입니다.
오늘의 매일메일 문제 링크
1. https://www.maeil-mail.kr/question/45
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
2. https://www.maeil-mail.kr/question/46
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
3. https://www.maeil-mail.kr/question/47
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
매일메일 사이트
'코딩 > 개념 정리' 카테고리의 다른 글
매일메일) 31, 32, 33 문제 요약 (1) | 2025.05.27 |
---|---|
매일메일) 20, 21, 30 문제 요약 (1) | 2025.05.26 |
매일메일) 17, 18, 19 문제 요약 (1) | 2025.05.25 |
React와 Next.js로 알아보는 CSR과 SSR (0) | 2025.02.21 |