프로그래밍

Android 취준 중인데, 개발자 면접 질문 부탁드려요

댓글 남겨주시면 학습한 후 답변 달아서, 검사 받고 싶습니다.

너무 딥하지 않은 Android 또는 CS 관련 기본 지식에 대해 질문해주셨으면 합니다.

 

미리 감사합니다. 시간 내주셔서 감사합니다, 현업 선배 님들.

10개의 댓글

2024.03.02

1. TCP 연결 수립과정을 설명하기

2. 가상 메모리가 필요한 이유와 메커니즘을 설명하고, 스왑 메모리 작동 방식을 설명하기

0
2024.03.03
@잉텔

1.

TCP는 UDP와 다르게 수신 측과 송신 측의 연결을 수립하는 3-way handShaking 과정을 거칩니다.

#1. 클라이언트 측에서 연결 요청을 위해 SYN 비트가 1로 설정되어 있고, sequence number가 x(이 값은 랜덤)인 TCP Segment를 보냅니다.

#2. 서버 측에서 SYN, ACK 비트가 1, Acknowledgment number가 x+1, sequence number가 y(이 값은 램덤)인 TCP Segment를 보냅니다.

#3. 클라이언트 측에서 서버 응답을 수신했다는 의미로, ACK 비트가 1, Acknowledgment number y+1인 TCP Segment를 보냅니다.

 

클라이언트와 서버는 연결을 요청하는 쪽과 연결 요청을 허용하는 쪽에 따른 차이로, 가정용 PC, 서비스를 운영하는 "서버"와는 다른 개념입니다.

 

참고 자료

https://velog.io/@averycode/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCPUDP%EC%99%80-3-Way-Handshake4-Way-Handshake

 

2.

모든 프로세스가 필요로 하는 데이터를 메모리에 모두 올려두기에는 메모리 크기에 한계가 있습니다. 그래서 프로세스에서 사용하는 부분만 메모리에 올리고, 나머지는 디스크에 보관하는 기법을 가상메모리라고 합니다.

 

메커니즘은 다음과 같습니다.

1. Page No(processor가 필요로하는 데이터의 index 번호), Frame No(해당 데이터의 memory에서의 위치인 주솟값), valid bit(메모리에 데이터가 존재하는지 여부를 나타내는 비트값으로 1이 존재함을 의미)로 구성된 Page Table이 있습니다.

2. processor가 요청하는 page no의 valid bit가 1이면 메모리의 주솟값을 전달합니다.

3. valid bit가 0일 경우, disk에서 해당 데이터를 꺼내 메모리에 적재하고, process에게 주솟값을 전달합니다. 또한 Page table도 업데이트합니다.

 

Swap 메모리 작동 방식은 다음과 같습니다.

 

1. 메모리가 가득차, 더 이상 데이터를 메모리에 올릴 수 없는 경우에 발생합니다.

2. 가장 이전에 사용되었던 데이터가 무엇인지 확인합니다.

3. 이 데이터를 디스크로 옮깁니다.

4. Processor가 필요로 하는 데이터를 RAM에 올립니다.

 

참고 자료

https://phoenixnap.com/kb/swap-memory

0
2024.03.02

Android 기술 면접이라고 인터넷 검색하면 나오는거 외우셈

다른 업종 프로그래밍인데 그런거 보고 가니깐 한 70%는 나옴

 

단 ㅈㄴ 많은 블로그, 카페 뒤지면서 해야됨 막 3~4개 보고 끝이 아니라 수십개를 보면서 자주 중복되는거 가끔 보이는거 구분없이 다 외우셈ㅇㅇ(시간 없으면 자주 언급되는거 위주)

0
2024.03.03
@RX7900XTX

이거요?

https://github.com/gyoogle/tech-interview-for-developer?tab=readme-ov-file

0
2024.03.02

코루틴이 무엇이죠?

0
2024.03.03
@프로그래머스

코루틴은 중단했다가 다시 실행할 수 있는 컴포넌트입니다. 코루틴은 비선점형(하나의 프로세스가 CPU를 할당받으면 종료되기 전까지 다른 프로세스가 CPU를 강제로 차지할 수 없음)이고, 쓰레드는 선점형입니다.

코루틴은 병행성(Concurrentcy, 논리적으로 병렬로 작업이 실행되는 것처럼 보이는 것)은 제공하나, 병렬성(Parallelism, 물리적으로 병렬로 작업이 실행되는 것)은 제공하지 않습니다.

0
2024.03.03

OAuth를 이용한 로그인의 동작방식을 설명하고 이 과정에서 앱에 보관하게되는 정보와 보안 방법에 대해서 설명해볼 것

프로젝트에서 상태관리를 위한 라이브러리는 뭘 사용했고 특별히 더 신경쓴 부분이 있는지

겆줌은 쳐내는게 맞는가?

0
2024.03.03
@역시자네야

1.

OAuth는 사용자가 자신의 비밀번호를 노출하지 않으면서, 제3자에게 자신의 정보 접근을 허용하는 방식입니다. OAuth 서비스를 사용하는 앱은 인증 과정에서 발생하는 어떤 정보도 보관하지 않으며, 단순히 인증이 완료되었을 때, OAuth 서버가 전달하는 사용자의 정보를 전달받아 저장하여 사용합니다.

OAuth 서버 또한 사용자가 이전에 무엇을 요청했고, 어떤 데이터를 가져갔는지에 관한 정보인 state를 저장하지 않습니다.

 

OAuth 요청에 사용되는 Access Token은 접근 가능한 정보 범위와 기간이 정해져 있습니다. 기간이 만료될 경우, refresh Token 또는 다시 Authorization 과정을 통해 access token을 재발급 받아야 합니다.

 

2.

상태관리가 어떤 것을 말하는지 모르겠습니다. Android의 lifecycle을 의미하는 것이라면, Activity와 Fragment 객체의 lifecycle이 View lifecycle보다 길기 때문에, UI 업데이트는 ViewModel에 있는 데이터를 observing 함으로써 업데이트하도록 구현했습니다.

 

또한 RecyclerView에서 ViewHolder에서 이미지를 로딩하는 중에 사용자가 스크롤을 내려 화면이 보이지 않게 됐을 경우, coroutineScope을 cancel하여 이미지 로딩을 중단하도록 했습니다.

 

3.

🤫

0
2024.03.04

1. 액티비티 라이프 사이클을 순서대로 그려보세요

2. Toast 를 Customize 하는 코드를 작성하세요 (pseudo-code 무관)

3. AsyncTask에 대해 아는대로 기술하시오

0
2024.03.05
@동천마을

답변이 늦어 죄송합니다 ㅠ

말씀 주신 질문들은 제가 모르는 내용이고, 학습에 시간이 오래 걸릴 것 같아요.

 

질문 해주셔서 감사하고, 꼭 학습해서 제 것으로 만들도록 할게요.

 

@Android 학습

1. 액티비티 라이프 사이클을 순서대로 그려보세요

2. Toast 를 Customize 하는 코드를 작성하세요 (pseudo-code 무관)

3. AsyncTask에 대해 아는대로 기술하시오

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5719 [프로그래밍] 하이브리드 웹뷰기반 앱은 rn이 정석이야? 3 잠적자 0 16 시간 전 155
5718 [프로그래밍] c# webview2 도움요청함.. 7 carpediem 0 21 시간 전 109
5717 [프로그래밍] 현업 개발자형들 맥씀? 9 이또히로부미 0 22 시간 전 201
5716 [프로그래밍] libtorch에서 cuda 안불러와지는거 도움! 2 Hakat 0 2 일 전 121
5715 [프로그래밍] 뭔가 게시판이 애매해서 그런데 gis 잘아는 사람? 1 하늘늑대 0 3 일 전 162
5714 [프로그래밍] 컴포즈가 프리뷰랑 폰에서 다르게 동작해요 1 집에가게해줘 0 3 일 전 117
5713 [프로그래밍] 난바보다) 크로미움 램사용량 문제 일단 해결 2 ye 0 4 일 전 282
5712 [프로그래밍] k8s DNS 이슈는 해결이 안되나보다. 잉텔 0 5 일 전 171
5711 [프로그래밍] 분노) 진짜 유튜브 구글 패악질 토나오네 씨발 17 ye 0 6 일 전 768
5710 [프로그래밍] 프론트엔드 공부하려는데 언어 추천좀 7 스트리플 0 7 일 전 350
5709 [프로그래밍] 객체지향 뽕에 취하지마라 8 69746974 2 8 일 전 407
5708 [프로그래밍] 요즘 앱개발 인력시장 어떰..3년차 2 센치해요 0 11 일 전 387
5707 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 12 일 전 148
5706 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 13 일 전 305
5705 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 16 일 전 398
5704 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 17 일 전 265
5703 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 17 일 전 237
5702 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 17 일 전 336
5701 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 18 일 전 370
5700 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 18 일 전 380