-프론트엔드 신입개발자 질문&답변

 

뤼튼

 

HTML이란 무엇인가요?

HTML은 웹 페이지의 구조를 정의하는 마크업 언어입니다.
CSS의 역할은 무엇인가요?

CSS는 웹 페이지의 스타일을 지정하는 데 사용됩니다.
JavaScript란 무엇인가요?

JavaScript는 웹 페이지에 동적인 기능을 추가하는 프로그래밍 언어입니다.
반응형 웹 디자인이란 무엇인가요?

다양한 기기에서 웹 페이지가 잘 보이도록 설계하는 방법입니다.
DOM이란 무엇인가요?

DOM은 문서 객체 모델로, 웹 페이지의 구조를 나타내는 객체입니다.
AJAX란 무엇인가요?

비동기적으로 웹 페이지를 업데이트할 수 있게 해주는 기술입니다.
RESTful API란 무엇인가요?

REST 원칙에 따라 설계된 웹 서비스 API입니다.
프레임워크와 라이브러리의 차이점은 무엇인가요?

프레임워크는 전체 구조를 제공하고, 라이브러리는 특정 기능을 제공합니다.
CSS Flexbox란 무엇인가요?

요소들을 효율적으로 배치할 수 있는 CSS 레이아웃 모듈입니다.
CSS Grid란 무엇인가요?

2차원 레이아웃을 구성할 수 있는 CSS 모듈입니다.
브라우저 호환성이란 무엇인가요?

다양한 브라우저에서 웹 페이지가 동일하게 작동하는 것을 의미합니다.
SEO란 무엇인가요?

검색 엔진 최적화를 통해 웹 사이트의 가시성을 높이는 과정입니다.
버전 관리 시스템이란 무엇인가요?

코드 변경 사항을 추적하고 관리하는 시스템입니다. (예: Git)
모듈화란 무엇인가요?

코드를 독립적인 모듈로 나누어 관리하는 방법입니다.
CORS란 무엇인가요?

Cross-Origin Resource Sharing의 약자로, 다른 출처의 리소스에 접근할 수 있게 해주는 메커니즘입니다.
Webpack이란 무엇인가요?

JavaScript 애플리케이션의 모듈 번들러입니다.
프론트엔드 성능 최적화 방법은 무엇인가요?

이미지 최적화, 코드 분할, 캐싱 등을 사용할 수 있습니다.
프로미스란 무엇인가요?

비동기 작업의 완료 또는 실패를 나타내는 객체입니다.
ES6의 주요 특징은 무엇인가요?

화살표 함수, 클래스, 템플릿 리터럴, 모듈 등이 포함됩니다.
웹 접근성이란 무엇인가요?

장애인 포함 모든 사용자가 웹을 이용할 수 있도록 하는 설계 원칙입니다.

 

 


perplexity

 

HTML/CSS 관련 질문

  1. Q: HTML5의 새로운 기능은 무엇인가요?
    A: 시맨틱 태그, 멀티미디어 지원, 캔버스, 로컬 스토리지 등
  2. Q: 시맨틱 태그의 장점은?
    A: 검색엔진 최적화, 코드 가독성 향상, 접근성 개선
  3. Q: CSS Box Model이란?
    A: 콘텐츠, 패딩, 보더, 마진으로 구성된 요소의 레이아웃 모델
  4. Q: Flexbox와 Grid의 차이점은?
    A: Flexbox는 1차원, Grid는 2차원 레이아웃 시스템
  5. Q: CSS 선택자 우선순위는?
    A: !important > 인라인 스타일 > ID > 클래스 > 태그

JavaScript 관련 질문

  1. Q: var, let, const의 차이점은?
    A: 스코프와 재선언/재할당 가능 여부의 차이
  2. Q: 호이스팅이란?
    A: 변수와 함수 선언이 스코프 최상단으로 끌어올려지는 현상
  3. Q: 클로저란?
    A: 외부 함수의 변수에 접근할 수 있는 내부 함수
  4. Q: 이벤트 버블링과 캡처링의 차이는?
    A: 이벤트 전파 방향의 차이 (상향 vs 하향)
  5. Q: Promise란?
    A: 비동기 작업의 최종 완료 또는 실패를 나타내는 객체

프레임워크/라이브러리 관련 질문

  1. Q: React의 특징은?
    A: 가상 DOM, 컴포넌트 기반 구조, 단방향 데이터 흐름
  2. Q: Vue.js의 장점은?
    A: 학습 곡선이 낮고, 가볍고 유연함
  3. Q: Angular의 특징은?
    A: TypeScript 사용, 양방향 데이터 바인딩, 의존성 주입
  4. Q: Redux의 핵심 개념은?
    A: 단일 스토어, 액션, 리듀서, 불변성
  5. Q: jQuery와 모던 JavaScript의 차이점은?
    A: DOM 조작 방식, 브라우저 호환성, 성능 등의 차이

성능 최적화 관련 질문

  1. Q: 웹 성능 최적화 방법은?
    A: 이미지 최적화, 코드 분할, 캐싱, CDN 사용 등
  2. Q: 브라우저 렌더링 과정은?
    A: DOM 생성 > CSSOM 생성 > 렌더 트리 구축 > 레이아웃 > 페인트
  3. Q: 크리티컬 렌더링 패스란?
    A: 브라우저가 HTML을 화면에 렌더링하는 데 필요한 단계들
  4. Q: 레이지 로딩이란?
    A: 필요한 시점에 리소스를 로드하는 기술
  5. Q: 디바운싱과 쓰로틀링의 차이는?
    A: 이벤트 호출 제어 방식의 차이 (마지막 호출 vs 일정 간격)

GROK

HTML/CSS 관련 질문 (20개)

  1. HTML5의 새로운 기능은 무엇인가요?
    • 시맨틱 태그(<header>, <footer> 등), <canvas>, <video>, 로컬 스토리지 등입니다.
  2. 시맨틱 HTML이 왜 중요한가요?
    • SEO와 접근성을 개선하고, 코드 가독성을 높여줍니다.
  3. CSS에서 box-sizing 속성은 무엇인가요?
    • 요소의 크기 계산 방식을 정의하며, border-box는 패딩과 테두리를 포함합니다.
  4. Flexbox와 Grid의 차이점은 무엇인가요?
    • Flexbox는 1차원 레이아웃(행 또는 열), Grid는 2차원 레이아웃(행과 열)을 다룹니다.
  5. 반응형 디자인을 어떻게 구현하나요?
    • 미디어 쿼리, 상대 단위(%, vw, rem), 유연한 레이아웃을 사용합니다.
  6. CSS에서 position: absoluterelative의 차이는?
    • relative는 원래 위치 기준, absolute는 부모 요소 기준으로 배치됩니다.
  7. CSS 선택자의 우선순위는 어떻게 결정되나요?
    • Specificity(특이도)와 순서에 따라 결정되며, !important가 가장 높습니다.
  8. BEM 방법론에 대해 설명해주세요.
    • Block, Element, Modifier로 클래스를 구조화해 가독성과 유지보수를 개선합니다.
  9. CSS에서 z-index는 무엇인가요?
    • 요소의 쌓임 순서를 정의하며, 값이 클수록 위에 표시됩니다.
  10. 브라우저 호환성을 어떻게 해결하나요?
    • Vendor 접두사(-webkit-, -moz-)와 폴리필을 사용합니다.
  11. CSS 전처리기(Preprocessor)란 무엇인가요?
    • Sass, Less처럼 변수와 믹스인을 사용해 CSS를 효율적으로 작성하게 해줍니다.
  12. CSS에서 float의 역할은?
    • 요소를 좌우로 띄워 텍스트가 주위를 감싸게 합니다.
  13. clearfix란 무엇인가요?
    • float로 발생한 부모 요소 붕괴를 해결하기 위한 기법입니다.
  14. CSS에서 display: nonevisibility: hidden의 차이는?
    • display: none은 공간까지 제거, visibility: hidden은 공간은 남깁니다.
  15. HTML에서 alt 속성은 왜 중요한가요?
    • 이미지 로드 실패 시 대체 텍스트를 제공하고, 접근성을 높입니다.
  16. CSS에서 remem 단위의 차이는?
    • rem은 루트 폰트 크기 기준, em은 부모 요소 폰트 크기 기준입니다.
  17. CSS 애니메이션은 어떻게 만드나요?
    • @keyframesanimation 속성을 사용합니다.
  18. 미디어 쿼리란 무엇인가요?
    • 화면 크기나 디바이스 조건에 따라 스타일을 적용하는 방법입니다.
  19. CSS에서 overflow 속성은 무엇인가요?
    • 콘텐츠가 요소를 넘칠 때 처리 방법을 정의합니다(예: scroll, hidden).
  20. HTML에서 DOCTYPE의 역할은?
    • 브라우저에 문서 유형을 알려 렌더링 모드를 설정합니다.

JavaScript 관련 질문 (30개)

  1. var, let, const의 차이점은 무엇인가요?
    • var는 함수 스코프, letconst는 블록 스코프이며, const는 재할당 불가입니다.
  2. 클로저(Closure)란 무엇인가요?
    • 함수가 외부 스코프 변수에 접근할 수 있는 현상입니다.
  3. 이벤트 버블링과 캡처링의 차이는?
    • 버블링은 자식에서 부모로, 캡처링은 부모에서 자식으로 이벤트가 전파됩니다.
  4. 호이스팅(Hoisting)이란 무엇인가요?
    • 선언이 스코프 최상단으로 끌어올려지는 JavaScript 동작입니다.
  5. 프로미스(Promise)란 무엇인가요?
    • 비동기 작업의 성공/실패를 처리하는 객체입니다.
  6. async/await의 역할은?
    • 프로미스를 더 간결하게 작성할 수 있게 해줍니다.
  7. this 키워드는 어떻게 동작하나요?
    • 호출 방식에 따라 참조 대상이 달라집니다(예: 객체 메서드면 해당 객체).
  8. 이벤트 루프(Event Loop)란 무엇인가요?
    • 비동기 작업을 관리하며 콜 스택과 큐를 조율합니다.
  9. 화살표 함수와 일반 함수의 차이는?
    • 화살표 함수는 this를 바인딩하지 않습니다.
  10. Array.map과 Array.forEach의 차이는?
    • map은 새 배열을 반환하고, forEach는 반환값이 없습니다.

ios 개발 스택 중요도 순서>

 

Swift - 30%

iOS 앱 개발의 주요 프로그래밍 언어입니다.
Xcode - 20%

iOS 앱 개발을 위한 통합 개발 환경(IDE)입니다.
UIKit - 15%

iOS의 기본 사용자 인터페이스 프레임워크입니다.
SwiftUI - 10%

최신 UI 프레임워크로, 선언적 방식으로 UI를 구축할 수 있습니다.
CocoaPods / Swift Package Manager - 5%

외부 라이브러리 관리 도구입니다.
RESTful API - 5%

서버와 통신하기 위한 API 이해가 필요합니다.
Core Data - 5%

데이터 관리를 위한 프레임워크입니다.
Git - 5%

버전 관리 시스템으로 팀 협업에 필수적입니다.
Testing (XCTest) - 3%

애플리케이션의 품질 보장을 위한 테스트 프레임워크입니다.
App Store 배포 - 2%

 


hello, world 앱을 만드는 간단한 ios 예제>

 

<스토리보드 사용하기>

 

  1. 프로젝트 생성:

    Xcode를 열고 "Create a new Xcode project"를 선택합니다.
    "App"을 선택하고 "Storyboard"를 선택합니다.
  2. UI 구성:

    Main.storyboard 파일을 열고, View Controller를 선택합니다.
    왼쪽 패널에서 "Label"을 드래그하여 View Controller에 추가합니다.
    Label의 텍스트를 "Hello, World!"로 변경합니다.
  3. 앱 실행:

    Command + R을 눌러 앱을 실행합니다.

 

 코드로 만들기

 

  1. 프로젝트 생성:

    Xcode를 열고 "Create a new Xcode project"를 선택합니다.
    "App"을 선택하고 "Swift"와 "UIKit"을 선택합니다.
  2. 코드 작성:

    ViewController.swift 파일을 열고, viewDidLoad 메서드에 아래 코드를 추가합니다.
    swift


import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let label = UILabel()
        label.text = "Hello, World!"
        label.textAlignment = .center
        label.frame = CGRect(x: 0, y: 0, width: 300, height: 50)
        label.center = view.center
        view.addSubview(label)
    }
}

3.앱 실행:

Command + R을 눌러 앱을 실행합니다.

 

<SwiftUI 사용하기>

 

  1. 프로젝트 생성:

    Xcode를 열고 "Create a new Xcode project"를 선택합니다.
    "App"을 선택하고 "SwiftUI"를 선택합니다.
  2. 코드 작성:

    ContentView.swift 파일을 열고 아래 코드를 작성합니다.
import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
            .font(.largeTitle)
            .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

3. 앱 실행:

Command + R을 눌러 앱을 실행합니다.

 


스토리보드, 코드, SwiftUI의 장단점을 비교>

 

 

 

물음표가 두개가 있는 연산자(셤)

예시)

let optionalValue: String? = nil // 옵셔널 문자열 변수, 현재 nil로 초기화
let defaultValue = "기본 값" // 기본 값 문자열 변수

// nil-coalescing 연산자 사용
let result = optionalValue ?? defaultValue // optionalValue가 nil이면 defaultValue를 사용

print(result) // 결과 출력: 기본 값

https://bbiguduk.gitbook.io/swift

 

The Swift Programming Language (한국어) | Swift

Last updated 5 months ago

bbiguduk.gitbook.io

 

이름 10번 출력

let name = "홍길동" // 출력할 이름

// 0부터 9까지 반복
for _ in 0..<10 {
    print(name) // 이름 출력
}

'Swift' 카테고리의 다른 글

iOS프로그래밍 실무 3주차  (0) 2025.03.19
iOS 프로그래밍 실무 2주차  (0) 2025.03.17
iOS 기초 프로그래밍15주차  (0) 2024.12.11
iOS 기초 프로그래밍 14주차  (0) 2024.12.04
iOS 프로그래밍 기초 13주차  (0) 2024.11.27

+ Recent posts