나의 면접 질문 리스트

SSY·2022년 12월 21일
0

CS

목록 보기
1/1

● (공부 필요)코루틴 스레드간 통신은 어떻게 했는지?

ㄴ> IO스레드와 Main스레드의 통신함. -> 잘못 답변했구나. 코루틴에서 스레드 통신은 Channel을 사용한다. 공부 필요

● (공부필요)코루틴에서 공유자원 처리는 어찌했는지?

ㄴ> 실무에선 쓰이진 않았다. 다만 개인 스터디에서 처리한 방식은 ….

● (공부 필요)실시간 채팅은 어떻게 구현했는지?

ㄴ> 구현은 안함. 다만 .... 하게 구현되어 있다.

● (공부 필요)JetPack의 구조는?

● (공부필요)DaggerHilt와 Koin의 차이는?

ㄴ> koin은 런타임에 di객체가 만들어지고 주입을 함. 다만 daggerHilt는 컴파일 타임에 di객체 생성 및 주입이 이루어짐

● (공부필요)개인 프로젝트나 상용 프로젝트에 DI를 굳이 안써도 될것 같은데 쓴 이유는?

● 아키텍쳐 구조에 대해 설명해달라

ㄴ> 익히 잘 알고 있으므로 pass

● 성과분석툴 연동으로 사용자가 늘어난다는 것을 확인할 지표는?

ㄴ> 지표를 정확히 분석한건 아니다. 다만, 그로스마케팅팀의 전사 발표 자료에 따라 그 당시는 납득할 수 있었지만 기억은 안난다.

● 노티피케이션 포그라운드와 슬립상태일때의 구현은 어떻게 했는지?

포그라운드 상태

MyFirebaseService오버라이딩 후, onMessageReceive 함수에서 노티피케이션의 타이틀, 썸네일, 콘텐츠를 처리

슬립 상태

SPlashActivity에서 (Manifest상에선 intent-filter가 Main, Launcher로 지정된 부분)에선 Buildle객체에 담긴 uri를 참조하여 화면을 이동하도록 개발

● 비가청음파 44bit에서 136bit로 개선을 어떻게 했는지?

ㄴ> sequence 2bit, crc 4bit, crcValid 6bit, data 10bit 구조에서 data bit를 sequence 4bit, crc 4bit, crcValid 6bit, data 20bit로 증가시킴

● 페이로드를 늘림으로써 CRC부하가 예상되는데 어떻게 처리했는지?

ㄴ> 부하는 없었음. 다만, CRC개선 방법으로 다른걸 생각했다. CRC 로직 중 bit를 줄임으로써 data bit를 늘릴 수 있지 않을까 생각하고 이를 개선하고자 했지만 사업성 문제로 추가 고민은 하지 않음

● 형상관리는 무엇으로 했는지?

ㄴ> 깃랩

● 브랜치 관리는 어떻게 헀는지?

ㄴ> feture브랜치 + dev브랜치 + 마스터 브랜치

● 이슈 트래킹은 무엇으로 했는지?

ㄴ> 지라

● 회사가 성장 및 인원 스케일 업에 따른 내가 좋다고 생각했던 것은?

ㄴ> 성과분석툴 연동시 마케터팀과의 협업, 프로젝트 구축시 디자인팀과 협업. 각각 모두 설계가 들어간다.

● NavigationGraph라이브러리 제거 후 마이그레이션 어떻게 했는지?

ㄴ> BottomNavigationGraph 익스텐션 함수를 만듦으로써 Fragment백스택 관리를 모두 관리해주는 방식

● Singleton, Observer, Builder패턴 설명, 장점?, 어떻게 적용했는지?

Singleton :

어플리케이션 실행 도중 단 하나의 객체만 존재하는 방식

Observer :

데이터의 생산자가 데이터를 발행하면 소비자쪽에서 계속 데이터를 받을 수 있는 방식

Builder :

메서드 체이닝 방식과 동일한 객체를 리턴함으로써 파라미터를 넘기는 방식

어찌 적용했는지?

소셜로그인 정보를 받아오면 해당 정보를 다시 안받아오도록 Singleton방식으로 구현했으며, observer를 등록한 쪽에 사용자 정보를 통지해주는 방식으로 구현했으며 Builder패턴으로 소셜 로그인을 수행해야할 때 여러 파라미터들을 구분해서 넘겨주는 방식을 사용

● bridge구축은 어떻게 했는지?

ㄴ> 웹개발자와 협업. 자바스크립트 브릿지 함수를 구축하고 구축한 브릿지의 path를 받고 이는 앱 내에 코딩하는 방식

● 개인 프로젝트에 daggerHilt를 도입한 목적은?

ㄴ> 추후 기술 적용을 대비

profile
불가능보다 가능함에 몰입할 수 있는 개발자가 되기 위해 노력합니다.

0개의 댓글