PostIT

[Important] 프로그래머로서 질문에 정답을 찾기 위해 노력하는 여정 - 질문에 답하기 본문

Question & Answer

[Important] 프로그래머로서 질문에 정답을 찾기 위해 노력하는 여정 - 질문에 답하기

shun10114 2017. 2. 6. 10:00

[Important] 프로그래머로서의 기본 소양을 갖추기 위한 기본 질문, 그리고 답 하기.

최종 수정일 : 2017.04.19

언어 : JAVA
운영체제 : OSX Sierra
IDE : STS(Eclipse)



## 1. 목표

기본적인 프로그래머로서 알아야 할 사항들을 직접 만들어보고 체크하겠습니다. 그리고 제가 느끼는 필요한 사항들에 대해서 더 추가하면서 채워나가도록 하겠습니다. 공부가 필요하신 분들은 간단히 리스트를 보시고 직접 해보시는것이 더 좋을 것 같습니다.

아래 Java -> Web -> 전산일반 순서로, 최소 블로그에 내용정리를 만들겠습니다. 그리고, 예제와 프로그래밍이 직접 필요한 곳에는 깃허브에 예제파일로 공개하겠습니다.




## 2. 내용

https://github.com/Seolhun/java_example_with_blog - 기본적인 예제파일을 모아놓은 Repository입니다.


### 1. Java

    1. 상속, 다형성에 대해 어떤 개념인지 남에게 설명할 수 있나요? - 블로그 정리
    2. 추상클래스, 인터페이스 각각에 대해 문법적으로 어떻게 작성해야하는지 '지금' 머리 속에 떠오르나요? - 블로그 정리
    3. 객체지향 프로그래밍(OOP)이 등장하게 된 배경은 무엇이고 객체지향 프로그래밍은 "어떤 방식으로 프로그래밍 하는 것이다."라고 남에게 설명할 수 있나요?
    4. 제네릭이 무엇인지 알고 있나요?
    5. 컬렉션이 무엇인지 알고 있나요? - 블로그 정리
    6. 가비지 컬렉터의 존재와 하는 일이 무엇인지 알고있나요?
    7. 객체는 생성자를 호출하면 생성됩니다. 그럼 언제 소멸하는지 알고있나요?
    8. 소켓 프로그래밍을 해본 적 있나요?(최소 채팅방 구현) - Github 예제코드
    9. 멀티쓰레드 프로그래밍을 해본 적 있나요? - Github Portfolio
    10. DB와 연동하는 프로그램을 작성해본 적 있나요? - Github Portfolio


### 2. Web

    1. HTML, CSS, JavaScript 각각이 웹 페이지에서 어떤 역할을 해야하는지 알고있다.
    2. HTML5, CSS3, ES6에 대해 들어보았다.
    3. AJAX를 사용하는 페이지를 작성해봤고, 그 특징을 알고있다.
    4. AJAX를 이용할 경우 데이터 전송은 (클라이언트/서버) 중 하나가 시작할 수 있다. 그게 누구인지 알고 있다.
    5. 4번의 제약을 극복하기 위한 여러가지 기법을 알고있다.
    6. 웹소켓을 사용해본 적 있다. - 블로그 정리
    7. WEB 서버와 WAS가 무슨 차이인지 알고있다.
    8. 시맨틱 웹이 무엇인지 알고있다.
    9. REST API가 무엇인지 알고있다.
    10. 크로스 브라우징이 무엇인지 알고있다.


### 3. 전산일반

    1. 폰 노이만 구조(Stored-Program Computer)를 알고 있나요?
    2. 경쟁상태(Race Condition)이 발생하는 조건을 알고 있나요?
    3. 임계영역(Critical Section)에서 경쟁상태를 피하는 방법을 "XX화"라고 하는데 무엇인지 알고 있나요?
    4. 임계영역이 될 수 있는 코드는 최소 Java 코드로 몇줄인가요?
    5. TCP와 UDP의 가장 큰 차이점을 알고 있나요?
    6. 캐싱(Caching)에 대해 알고있나요?
    7. 크로스 컴파일(Cross Compile)에 대해 알고있나요?
    8. Windows, Mac 이외에 어떤 운영체제들이 존재하는지 알고있나요?
    9. Windows, Mac 이외의 운영체제를 사용해본 적 있나요?
    10. API가 무엇인지 알고있나요?
    11. 라이브러리와 프레임워크의 차이를 알고 있나요?


Comments