1.자기소개,지원동기

 

 

2.공통 질문( 일단 기억나는 거 위주로)

 

  • 리더인지 팔로워 인지?  : 팀에서 사람들 의견을 잘 듣는 편이기도 하고, 리더였던 적이 없어서 팔로워인 것 같다. (리더 경험을 할 수 있는 일을 해야하나?)

 

  • 경험을 토대로 본인이 리더가 된다면 어떻게 할지: 내가 사람들의 의견을 잘 들으니까 팀원 들이 필요한 건 무엇인지, 개선해야할 것은 무엇인지 물어본 후 의견을 잘 들어서 팀의 발전을 위해 기여할 것이다. (이 부분에 대해 생각해 본 적이 없어서 내가 리더가 된다면 어떻게 할 것인지 생각해 봐야할 것 같다)

 

  • 주어진 일이 많으면 어떻게 할 것인지 : 평소에 할 일을 많이 맡는 편은 아니지만(굳이 얘기 안해도 됐던 것 같음) 만약 그런 일이 생긴다면 책임감을 가지고 수면 시간을 줄여서라도 맡은 일을 다 끝내려고 노력할 것이다.

 

  • 시간이 오래걸려도 퀄리티 좋은 걸 선택? 아니면 마감기한에 맞추는게 중요하다고 생각하는지? :회사 업무를 한다면 회사에는 마감기한이 있기에 그거에 맞춰서 일을 하는 것이 중요하다고 생각하는데, 스스로 발전하기 위해서 이 동아리에 지원한만큼 많이 배우는 것이 중요하다고 생각한다. 그래서 동아리 활동하는 것에 있어서는 시간이 오래걸려도 퀄리티 좋은 걸 선택할 것 같다. 

- 서류기반 기술질문

 

  • aop: 대답 못함*
  • mvc에 대하여: 대답못함*(내가 자소서에 써놓고)
  • snakecase: 대답 못함,,,(자바에 적합한 이름 방법)*
  • restful api: 대답함
  • put,petch: 대답함 
  • 도커: 대답했는데 잘 모르겠음

 

  • 스터디하면서 어려웠던 점과 해결했던 점
  • 어려움을 해결한 과정 
  • 배포도 했나?: 못했다고 함
  • 어려운 점 풀어가는 방식이 인상깊었다고 함

 

-결과: 불합격

 

  • 내가 생각한 불합격한 이유: 기술질문 절반을 대답하지 못한 것, 기본적인 질문 대답 못함(camelcase는 알았는데 sneakcase 몰랐음)
  • 해결방안: 내가 다루는 프레임워크, 프로그램에 대한 지식 습득하기/기본적인 컴공 지식들 공부하기 

 

  • 스펙이 많이 부족해서 당연히 서류에서 떨어질 줄 알았는데 처음으로 서류합격을 해 본 경험이라 의미가 있다고 생각함
  • 비전공자이지만 그 생각에 나를 제한하지 않고 올해 시작하면서 인강도 듣고, 스터디도 하면서 꾸준히 쌓아올린 결과물이라고 생각해 발전가능성을 느끼게 된 경험이었음
  • 앞으로 시간적 여유가 많으니 기본적인 것부터 차근차근 공부해 나가면 더 발전할 수 있을 거라고 생각함 

 

<대답 못했던 부분 공부>

 

1. AOP(aspect oriented programming,관점 지향 프로그래밍)

: 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로(코드들을 부분적으로 나누는 것을 의미함)

각각 모듈화하는 것

모듈화는 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말함

핵심적인 관점(모듈화) (논리) 부가적인 관점(모듈화)

핵심적인 관점: 우리가 적용하고자 하는 핵심 비즈니스 로직이 됨

부가적인 관점: 데이터베이스 연결,로깅,파일 입출력 

->소스 코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 발결할 수 있음. 흩어진 관심사(crosscutting concerns)

 

즉, 흩어진 관심사를 aspect로 모듈화하고, 핵심적인 비즈니스 로직에서 분리하여 재사용하는 하겠다는 것이 aop의 취지.

 

-aop의 주요 개념

  • aspect: 흩어진 관심사를 모듈화 한 것. 부가기능을 모듈화함
  • target : aspect를 적용하는 곳(클래스,메서드,,)
  • advice: 실질적으로 어떤 일을 해야할지에 대한 것, 실질적인 부가기능을 담은 구현체
  • ointPoint: Advice가 적용될 위치, 끼어들 수 있는 지점. 메서드 진입 지점, 생성자 호출 시점, 필드에서 값을 꺼내올 때 등 다양한 시점에 적용가능

-PointCut: JointPoint의 상세한 스펙을 정의한 것. 'A란 메서드의 진입 시점에 호출할 것'과 같이 더욱 구체적으로 Advice가 실행될 지점을 정할 수 있음

++(target,advice,jointpoint,pointcut을 다 모은게 aspect인가?)

 

-스프링 AOP 특징

  • 프록시 패턴 기반의 aop 구현체, 프록시 객체를 쓰는 이유는 접근 제어 및 부가기능을 추가하기 위해서임
  • 스프링 빈에서만 적용 가능
  • 스프링 IoC와 연동하여 엔터프라이즈 애플리케이션에서 가장 흔한 문제에 대한 해결책을 지원하는 것이 목적
  • 문제라 함은 중복코드, 프록시 클래스 작성의 번거로움, 객체들 간 관계 복잡도 증가,,,등 

 

++모르는 단어: 프록시, 프록시패턴, IoC,엔터프라이즈 애플리케이션 

 

출처: https://engkimbs.tistory.com/746

 

2. snake_case

: 언더스코어를 구분자로 함. 주로 상수 표현 시에 사용됨

  • camelCase
  • kebab-case
  • PascalCase

 

3. 도커(Docker)

 

- 컨테이너 기반의 오픈소스 가상화 플랫폼

  • 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줌
  • 프로그램(백엔드,디비 서버,메시지큐 등) 컨테이너로 추상화 할 수 있고, 조립 pc, aws,azure,google cloud 등 어디에서든 실행할 수 있음

 

-도커의 장점

  • 모듈성
  • 계층 및 이미지 버전 제어
  • 롤백
  • 신속한 배포

 

  • 도커는 단일 컨테이너 관리에 적합하도록 만들어져 있는데, 수백개로 세분화된 컨테이너와 컨테이너화된 앱을 점점 더 많이 사용하기 시작하면 도커가 컨테이너를 그룹화 해야함. 이때 이용되는 것이 쿠버네티스 

 

++모르는 단어: 쿠버네티스 

 

출처: https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

        https://www.redhat.com/ko/topics/containers/what-is-docker

 

4. Spring MVC

 

기말고사가 끝나고 바로 준비를 시작했지만 여러가지 문제점으로 정보처리기사 2021 2차 실기시험에 56점으로 떨어졌다.

나의 문제점을 돌아보고 개선하려고 한다.

 

-내 답

1.wan(0)

2.ux,인터페이스(3) #ui!!!

3.13(0) #파이썬 문제

4.update/set(5)

5.where,학과(4)#

6.10(0) #파이썬 문제 

7.트랜잭션 원자성 서술(0)

8.2(5)

9.aes(5)

10.11(5) 자바문제

11.1024(5)

12.function,dynamic,information(5) 수제비 카페에서 공부한 내용

13.문장,분기,조건(5) 수제비 카페에서 공부한 내용+ 책

14.이%,DESC(5)

15.안 적음(0) #수제비 책에서 본 적 있는데 안 읽음 

16.안 적음(0) 

17.안 적음(0) #행위(behavioral) 수제비 카페에 있었는데 또 틀린 문제

18.스텁(5)

19.ip,tcp(0)

20.순차적,교환적,기능적 응집도(4) #절차적 응집도를 순차적 응집도라고 함

 

-틀린 문제 답 (11개 틀림)

1.애드 혹 네트워크

2.ux,ui

3,26

5.on(join이니까)

6.8

7.트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것 

15.잠금,로킹(locking)

16.static

17.행위

19.가상회선방식/데이터그램방식

20.절차적 응집도 

 

 

총 점수: 56점, 아까운 점수

문제점: 

 

1. 시험 공부 시간 부족(6월 18일 시작, 7월 10일 시험이었으니 약 3주 정도 공부함,공부 안 하는 날이 몇몇 있었음 )

2. 책을 2020년 수제비 책으로 공부함(안 나오는 내용 공부함으로써 비효율적으로 공부했고, 올해 나오는 거 공부 못함)

3. 수제비 책에서 잠깐 알고가기나 핵인싸 퀴즈 대충 넘김(여기서도 시험에 나옴, 안일하고 대충 공부했음) 

예시) 로킹도 책에 내용 있는 거 봤는데 안 읽어봄 -> 책 내용이 너무 많다는 핑계로 제대로 공부하지 않은 부분들이 있었음. 

4. 수제비 카페 자료를 많이 활용 못함(시간 부족으로)

5. 프로그래밍 공부 소홀히 해서 부족했음(포인터 등등)

6. 이외: 중요한 부분 집중해서 공부 안해서 기억 안났음(ui,행위 공부했는데 틀림 , 절차적 응집도와 순차적 응집도의 차이점 공부하지 않음)

 

 

 

 

개선할 점:

1. 시간확보(시험 공부 9월 1일부터 시작, 약 6주간의 시간이 있음)

2. 2021 정처기 실기 수제비책 구매

3. 다회독 하면서 잠깐 알고가기, 핵인싸 퀴즈도 집중해서 공부하기(대충 대충 공부하지 말기)

4. 10월 시작부터 약 2주동안 카페 문제들 활용할 예정

5. 인강으로 프로그래밍 파트 보완

6. 지루한 공부를 극복하고, 효율적으로 중요한 부분들 위주로 공부하기 위해 수제비 인강 끊음(10만원, worth it)

7. 2-3주 안에 인강 끝내고(1회독), 9월 안에 2회독 마무리 하고, 10월에 카페 활용해서 공부하는 것이 목표. 

 

-기본적인 내용+잠깐 알고가기+핵인싸 문제+ 틀린문제+기출 등등 으로 공부하기 

 

9.13 

실기 접수 완료 

졸업하고 본격적으로 취준을 시작함에 있어 과정을 기록하고자 블로그를 시작한다.

비전공자로 목표는 백엔드 직무로 일하는 것이고(공부하다가 바뀔 수도 있음), 내년 하반기까지 입사하는 게 목표이다. 

지금까지 개발 경험으로는 학교에서 한 스터디로 간단한 웹 서버 구축한 것/ 인프런에서 김영한 인강 완료한 거 

 

독학할거라 필요한 공부들을 정리했다. 혼자하는 거라 맞는지는 잘 모르겠음

-코딩테스트

-백엔드 공부

-정처기 실기(내년 4월이 필기시험 마감이라 기회가 두번 남았다)

 

 

*코딩테스트

-비전공자이므로 컴공에 대한 기초지식이 없어서 알고리즘과 자료구조 공부 먼저 시작하기 

-백준,프로그래머스 문제 하루에 최소 한개 이상씩 풀어보면서 유형 익히기

-나동빈 코딩테스트 책으로 공부하기

 

*백엔드 공부(제일 막막한 부분, 차차 수정해 갈 예정)

-인프런에서 인강듣기

-필요한 기술 익히고, 작동원리에 관심가지고 공부해나가기

 

*정처기 실기(이번 10월 시험에서 합격하는 것이 목표)

-다른 공부도 해야하기 때문에 아침에 일어나서 인강 듣고, 문제풀기. 9월 안에 인강 끝내는 것이 목표

-인강은 수제비 인강 들을 예정

-10월 들어가면 수제비 사이트에서 약술형 뽀개기,단답형 공부하기 시작(약 2주의 시간이 있음)

 

 

 

+ Recent posts