면접 준비 25.02.10

2025. 2. 10. 19:57
  • Flutter 앱 개발에서 ‘상태’란 무엇을 의미하나요?
    • Flutter에서 위젯의 현재 테이터나 UI의 상태를 의미합니다.
  • ListView, ListView.builder, SingleChildScrollView + Column 3가지의 차이점은 무엇인가요?
    • ListView는 스크롤 가능한 리스트를 생성하며, 미리 지정된 자식 위젯을 children 속성을 통해서 한번에 모두 생성합니다.
    • ListView.builder는 ListView와 다르게 화면에 보여지는 속성만 생성하고 itemCount와 itemBuilder로 조절 합니다.
    • SinglechildScrollView+Column은 단일 위젯만을 스크롤 가능하게 바꿔주는 역할을 합니다. 그렇게 때문에 ListView와 동일하게 자식 위젯을 한번에 모두 메모리에 읽어옵니다.
  • Flutter에서 상수 클래스란 무엇이며 왜 사용하나요?
    • 상수란 변하지 않는 값을 의미하고 상수 클래스란 변경할 수 없는 필드를 가진 클래스입니다.
    • UI를 표현할때 다시 빌드되지 않아 자원을 아낄 수 있습니다.
  • Riverpod 상태관리 패턴의 특징은 무엇인가요?
    • Riverpod은 상태 관리 라이브러리 중 하나입니다.
    • 타입 안정성 : 컴파일 타임에 오류를 잡을 수 있다.
    • 전역 상태 관리 : 앱의 여러 부분에서 상태를 쉽게 공유 할 수 있다.
    • 재사용 가능성 : 상태를 쉽게 재사용하고 테스트 할 수 있습니다.
    • 성능 최적화 : 필요할 때만 리빌드를 수행하여 성능을 향상시킨다.
  • Riverpod 상태관리와 provider 상태관리의 차이는 무엇인가요?
    • Provider: Flutter의 공식 상태 관리 라이브러리로, 위젯 트리의 구조에 의존합니다. 위젯의 생명주기와 연관되어 있어 관리가 복잡해질 수 있습니다.
    • Riverpod: Provider의 발전형으로, 위젯 트리와 독립적이며, 더 나은 테스트와 재사용성을 제공합니다. 또한, 더 직관적인 API를 제공합니다.
  • ViewModel의 역할은 무엇인가요?
    • ViewModel은 MVVM디자인 패턴에서 View와 Model의 중재자 역할로 UI의 상태를 관리하고, 데이터의 변화를 뷰에 전달합니다.
  • MVVM 패턴이란 무엇인가요?
    • MVVM패턴은 개발 아키택쳐 패턴 중 하나로, 모델, 뷰, 뷰모델로 나눠어서 개발을 하는 방법입니다. 모델은 데이터와 관련된 로직을, 뷰는 UI와 관련된 부분을 뷰모델은 둘의 중재자의 역할을 합니다.
  • MVVM 패턴의 특징과 장점은 무엇인가요?
    • 구조적 분리: UI와 로직의 분리로 인해 코드의 가독성과 유지보수성이 향상됩니다.
    • 테스트 용이성: ViewModel은 UI와 독립적으로 테스트할 수 있습니다.
    • 데이터 바인딩: 데이터 변경 시 UI가 자동으로 업데이트되는 기능을 제공합니다.
  • MVVM 패턴과 StatefulWidget의 차이점을 설명하세요.
    • MVVM은 디자인 패턴으로 상태를 ViewModel을 통해서 변화를 감지하고 UI에 변화를 전달합니다.
    • StateFulWidget은 상태를 관리하기 위한 위젯으로 State로 상태를 직접 관리합니다.
  • Flutter에서 위젯트리란 무엇인가요?
    • 위젯 트리는 코드로 작성한 위젯들을 트리 형식으로 표현한 것입니다.
  • 위젯이 화면에 그려지기까지의 과정을 설명해보세요.
    • main() -> runApp() -> build() -> 
  • Flutter에서 BuildContext 란 무엇인지 예시를 들어 설명해보세요.
    • 플러터 프레임워크에서 사용되는 개념으로, 위젯 트리에서 현재 위젯의 위치와 상태에 대한 정보를 제공한다.
    • 예를 들면 테마를 사용하는 것이 있습니다. 테마를 사용하기 위해서 현재 context에 적용할 테마의 정보를 위젯에 적용할 수 있게 됩니다.

'Flutter' 카테고리의 다른 글

면접 준비 25.02.18  (0) 2025.02.18
면접 준비 25.02.14  (0) 2025.02.14
SharedPreferences 사용법  (0) 2025.02.06
폰트 적용  (0) 2025.02.06
flutter Statefulwigets 생명주기  (0) 2025.01.15

BELATED ARTICLES

more