CS

CS 연습문제 (0)

hamiric 2025. 2. 17. 09:50

0. 왜 CS 공부를 해야 하는가?

**1.개발자에게 CS 공부는 매우 중요합니다.**
채용 공고에서도 볼 수 있듯이 기업들은 기본적으로 CS 지식을 갖고 있는 사람을 채용하기 때문입니다.
설령 채용 공고에 CS 관련한 우대사항이 없더라도 CS 기반의 코딩 테스트와 기술 면접을 통해 지원자의 CS 지식을 확인합니다. 

**2.앱 개발자는 웹 페이지를 실행하는 브라우저도 파악해야 하기 때문입니다.**
CS 지식은 단순한 기능 구현뿐만 아니라 브라우저 상태를 파악하고, 타 부서와 협업할 때 활용됩니다.
더불어 기능 최적화나 보안에 대한 이해를 위해서도 CS 지식은 중요합니다. 
이처럼 CS 지식은 단순하게 서버 내부의 기능들에만 관련된 것이 아니라, 하나의 서비스를 구현해내는 데도 꼭 필요합니다.

**3.개발 환경과 플랫폼이 계속해서 변화하기 때문입니다.**
개발자는 알고리즘의 추상화된 형태인 API나 라이브러리, 프레임워크를 활용하여 개발을 합니다.
이는 CS 지식을 완벽히 이해하지 않아도 사용할 수 있습니다. 다른 사람들이 이미 만들어놓은 기반 위에서 개발을 하는 것이기 때문이죠.
CS 지식이 없다면 이런 특정 환경과 플랫폼에 종속될 수 있습니다.
반대로 기본적인 CS 지식만 있어도, 새로운 환경에서 기존의 라이브러리를 사용할 수 없을 때, 효율적으로 문제 해결 방법을 제시할 수 있죠.

**4. CS 지식은 코딩 테스트와 기술면접에 필수로 나오기 때문입니다.**
기업들은 지원자가 자신의 기업에 얼마나 적합한지 파악하기 위해 실무에서 사용하는 CS 지식을 활용하여, 코딩테스트 및 기술면접 문제를 제작합니다.
일반적으로 개발자가 소유한 기술 스택(Stack) 뿐만 아니라, 컴퓨터 과학 분야에 대한 기초적인 지식도 함께 검증하는데요. 
특히, 기술면접에서는 문제 해결 능력, 알고리즘 설계 등에 대한 지식이 중요하게 평가됩니다.

 

 

## 추가

답변시 팁!

 > 답변이 늦어도 되니까, 충분한 생각 시간을 가진후 답변하는것이 좋다. (생각을 정리)

 > 답변시 되도록이면, 질문에 맞는 답변을 대주제 - 소주제 형태로 단계적으로 답변하는것이 좋다.

ex) flutter에서 화면이 그려지는 과정에 대해 설명하자면?

 (대주제) 플러터에서 화면이 그려지는 과정은 크게 build - layout - paint 의 단계를 거쳐서 화면이 그려지게 됩니다.

 (소수제) build 단계는 ~~ , layout 단계는 ~~ ...