반응형

AWS Lambda란

서버리스 컴퓨팅 서비스

서버리스 = 개발자가 서버를 관리할 필요가 없음(클라우드가 서버 관리) -> 코드에만 집중

 

서버리스란?

서버리스 아키텍쳐 = 서버를 직접 관리할 필요가 없는 아키텍처

 

람다의 특징

이벤트 기반으로 즉시 실행 (단일 함수가 간단한 작업을 수행)

이벤트 구독하여 비동기적으로 실행 가능

 

람다의 동작 방식

  1. 이벤트 트리거
  2. 실행 환경 구축
  3. cold start or 활성화 인스턴스 재사용 : 
  4. 함수 코드 실행
  5. 이벤트 처리

함수 호출 -> 새로운 컨테이터 생성 -> (계속 요청) 컨테이너 재사용 -> (5분 요청 끊기면) 컨테이너 초기화

즉 하나의 기능(함수)만 들어있는 컨테이너를 생성

 

Lambda 장점

사용한만큼만 돈을 냄 (비용저럼 하여 절감)

자동 스케일업, 높은 가용성

서버 관리 없이, 코드 개발만 가능

 

Lambda 단점

cold start : 람다가 깰때 최대 지연시간 1s -> 실시간 서비스에 적합하지 않음

서버 제공자에 의존(aws)

긴시간을 소요하는 작업에 불리

코드 재사용이 어려움 / 상태 비저장 : 이벤트로 트리거 될때마다 새로운 환경에서 호출 -> 새로운 컨테이너 띄우는 방식

 

람다 적용에 유리한 서비스

이벤트 기반(트리거)

메시지 큐에 쌓인 메시지 처리 작업

로그 데이터의 실시간 처리

 

Lambda 적용 판단 기준

실행주기 짧은 주기에 적합
하나의 이벤트에 실행 후 인스턴스 소멸
적합
트래픽/부하 이벤트에 응답해 자동으로 확장 적합
비용 구조 실행된 코드에 대한 요금 적용
실행시간/메모리/초당실행횟수/데이터 전송비용/coldstart 발생
확인필요
피크시간/아닌시간
cold start 영향 최초 실행시 지연시간
첫 실행(새 인스턴스 생성)
람다 계속 실행시 재사용 -> 멈추는 경우 발
부적합/확인필요
코드 크기 / 제약사항 함수 크기/실행시간에 제한 적합
자동확장 자동 확장 가능. 중요한 요소인 적합
로그 모니터링 기존과 다름
aws cloudwatch logs로 관리
-
설계 / 개발 경험 기존 개발 프로세스와 다름 -

 

EC2보다 Lambda가 유리한 경우

  • 서비스 특성 (람다:간단한 단일 함수, EC2:특정 인스턴스가 전체 서비스 담당)
  • 트래픽 패턴 (람다:불규칙하고 짧은 실행시간 , EC2:안정적이고 지속적인 트래픽)
  • 리소스 사용 (람다: 함수 사용에 필요한 리소스만 사용 , EC2:지속적으로 설정한 리소스 사용)
  • 비용 (람다:초당 실행시간=>짧은 실행시간&불규칙한 트래픽에 효과 , EC2:일정한 예약, 사용량에 따라 비용 발생)

 

결론

단순한 로직이라 람다에 적합할 것이라 생각

장점 : 서버리스, 자동 스케일업, 비용절감, 이벤트 드리븐 아키

치명적인 cold start 단점: 첫 시작시 1초 지연 가능

 

따라서 비용 구조 / cold start 영향도 확인 필요

 

peak시간 : 자동확장

아닐때 : 비용 최적화(절감)

EC2에 비해 비쌈. 온디맨드 적용시 더 비쌈 -> 하지만 원래 서버는 가용률보다 높게 운영해서, 쓴만큼만 지불 

 

단, peak로 올라갈때 cold start 발생

인스턴스 미리 늘리기 가능 (온디맨드로 인스턴스 수 설정 -> 콜드 스타트 없이 즉시 실행)

 

 

반응형
반응형

지난달 신시계 그룹의 신세계아이앤씨에서 개발/운영 업무를 뽑는 공고가 있어서 지원했고,
경력기술서와 경험이 마음에 드셨는지 서류전형에 통과했고, 코딩테스트를 보았습니다.


채용 절차는 서류전형 - 코딩테스트 -1차면접 - 2차면접 순으로 진행되었으며, 코딩테스트 후 3일후에 합격통보와 면접 제의를 받았습니다. 다른 분들은 2~3주까지도 걸린다고 했는데, 이번엔 결과가 빨리 나온 편인것 같습니다.

서류 전형

다른 대기업들과 비슷한 채용 사이트(career)를 사용하며, 구성도 거의 비슷해서 특별한 건 없었습니다.
기본정보 / 학력,자격증 / 경력 / 경력기술서 등등 작성하며, 퇴직 사유가 그나마 생각하기에 오래 걸리는 문항이었습니다

마지막 페이지는 자기소개서로 크게 3가지 질문이었습니다. 지원동기, 차별화된 능력과 경험, 자유양식(어필) 이렇게 구성되어 있었던것 같아요

코딩테스트

코딩테스트는 정해진 시간에 접속해서 풀었던것 같아요
사이트 : TestDome
특징 : 모든 지문이 영어
구성 : 10문제 (SQL 7문제 / Java 3문제)
방식 : 1문제당 제한시간내에 풀어서 제출하며, 한번 넘어가면 돌아올 수 없음
난이도 : 쉬움 (SQL도 경력에서 DB를 다뤘다면, 시간이 넉넉하고, JAVA 문제는 프로그래머스 1~1.5?)
특징 : 시간과의 싸움 (시간이 빠듯하다는 평이 많음)
특징2 : JAVA문제는 DFS, DP, 그리디 이런 알고리즘이 아니라 객체지향 관점에서 JAVA를 활용하는 방식에 대한 문제

후기

10문제중 9문제 풀었고, 1문제는 특정 케이스에 실패했는데. 운이 좋게 합격했네요
테스트 3일 후에 합격통보와 면접 일정에 관련된 안내를 받았습니다.
참고로 1차면접은 화상 면접이라고 하네요

반응형
반응형

최근 현대 오토에버의 개발/운영 업무를 뽑는 공고가 있어서 지원했고, 서류 접수후에 인적성검사와 코딩테스트를 보았습니다.

 

채용 절차는 서류전형 - 인적성검사 & 코딩테스트 -1차면접 - 2차면접 순으로 진행됩니다.

반응형

서류 전형

다른 대기업들과 비슷한 채용 사이트(career)를 사용하며, 구성도 거의 비슷해서 특별한 건 없었습니다.

기본정보 / 학력,자격증 / 경력 / 경력기술서 등등 작성하며, 퇴직 사유가 그나마 생각하기에 오래 걸리는 문항이었습니다

 

마지막 페이지는 자기소개서로 크게 3가지 질문이었습니다. 지원동기, 희망업무를 강점을 근거로 기술, 역량기술서 이렇게 구성되어 있었던것 같아요

인적성검사(HMAT)

서류 전형을 통과하면, 인사팀에서 메일로 인적성검사를 보는 링크와 시험 가능한 기한을 알려줍니다.

인적성검사를 HMAT이라고 부르는것 같아요

구성 : 336문제에 60분정도

특징 : lpsative(=1 set에 3질문이 있고, 각 질문당 점수를 메기며, 그 중에 가장 멀고/가까운 답을 구하는 형식)

현대는 hmat의 기준이 높은 편으로 50%까지도 해당 검사로 필터링한다는 얘기가 있는 만큼 까다로운 편인것 같아요.

또한, 결과를 바탕으로 면접에서 질문이 들어오기도 한다고 합니다.

그렇기 때문에 답을 솔직하고 일관성있게 풀어야합니다.

(거짓말을 걸러내기 위한 장치들이 많이 있다고 해요)

코딩테스트(softeer)

코딩테스트는 정해진 기한내에 아무때나 접속해서 풀었어요

사이트 : softeer (현대차 그룹의 개발 직군을 위한 플랫폼 : https://softeer.ai/)

특징 : PC 화면 녹화 / PC 웹캠 녹화 / 모바일 녹화 / 복붙 불가 / 외부 IDE 사용불가 / 검색 불가 / java docs는 참고 가능

구성 : 3문제 (Java 3문제) 

방식 : 주어진 시간내에 모두 풀고, 가장 마지막에 제출한 답으로 제출되며, 시간 내에 계속 넘어올 수 있음

난이도 : 중상? 

설명 : softeer로 갈아타면서, 어려워졌다는 후기가 많은데, 역시 듣던거보다 어려워짐. 특정 알고리즘을 사용한것 보다도, 구현에 가까운 문제이고, softeer기준으로 레벨 2,3,4 1문제정도씩이 아닐까...싶음

특히나 softeer에 적응하지 못해서 환경에 적응하는데 30분정도 걸려서 시간이 많이 부족하고, 소스를 리팩토링하는것도 복붙이 안 되서 너무 까다롭고, 제약 사항이 많아서 힘든 기억.

부디 여러분은 여러번 풀고 적응한 상태에서 시험을 보시기를..!

팀바팀이지만, 커트라인으로 삼지 않고, 면접과 합산해서 보는 경우도 있다고해요

반응형
반응형

지난달 SK그룹/계열사에서 개발/운영 업무를 뽑는 공고가 있어서 지원했고,

여기는 서류전형+코딩테스트를 본 후에 종합적으로 판단해서 면접 여부를 확인하는 방식입니다.

채용 절차는 서류전형/코딩테스트 -1차면접 - 2차면접 순으로 진행되었으며, 1주일 이내에 결과가 나왔으며, 결과는 불합격입니다ㅠ

 

서류 전형

다른 대기업들과 비슷한 채용 사이트(career)를 사용하며, 구성도 거의 비슷해서 특별한 건 없었습니다.

기본정보 / 학력,자격증 / 경력 / 경력기술서 등등 작성하며, 퇴직 사유가 그나마 생각하기에 오래 걸리는 문항이었습니다

다른 SK 계열사와 중복해서 넣을 수 있지만, 한 계열사에서는 1군데만 지원 가능해요.

(여긴지, 다른 계열사인지 헷갈리는데) 자소서 항목은 따로 없었던것 같아요. 경력기술서 위주

반응형

코딩테스트

코딩테스트는 정해진 시간에 접속해서 풀었던것 같아요

사이트 : Codility

특징 : 모든 지문이 영어

구성 : 3문제 (SQL 1문제 / Java 2문제) 

방식 : 1문제당 제한시간내에 풀어서 제출하며, 한번 넘어가면 돌아올 수 없음

난이도 : 쉬운 편 (프로그래머스 기준 : 1정도)

특징 : 시간과의 싸움 / 특정 알고리즘을 사용하는 난이도 아님

 

 

후기 

3문제 모두 풀었지만, 종합적으로 판단하기 때문에 서류에서 탈락했을 가능성도 있지만, 어쨋든 탈락이지만

코테 난이도만 보면 어렵다고 할 순 없을것 같아요

 

 

반응형
반응형
출처 - https://hyun-am-coding.tistory.com/entry/Chapter-14-UML-%EB%AA%A8%EB%8D%B8%EB%A7%81

UML 모델링 특징

  • 가시화 : SW 개념 모델을 시각화, 이를 통해 소통
  • 명세화 : 정확하고 명백한 모델 생성, 이를 통해 개발을 위한 분석/설계/구현에 필요한 모델을 완전하게 명세
  • 구축 : 프로그래밍으로 구현
  • 문서화 : 요구사항 표현

 

UML 구성요소

  • 사물
  • 관계
  • 다이어그램

 

UML 모델링 절차

  1. 초기 클래스 다이어그램
  2. 유스케이스 다이어그램
  3. 클래스 다이어그램 변경
  4. 순차 다이어그램 작성
  5. 인터페이스 식별(클래스 다이어그램 수정)

 

UML 모델링의 이해

  • 4가지 측면
  • 3가지 레벨

정적 모델링 도구

  • 시스템의 정적이고, 지좃적인 측면을 모델링
  • 종류 :  클래스 다이어그램, 오브젝트 다이어그램, 컴포넌트 다이어그램
  • 작성절차
  • 오브젝트 다이어그램
  • 컴포넌트 다이어그램

 

동적 모델링 도구

  • 시간의 흐름에 따라 변하는 객체의 상태, 행위, 상호작용 표현
  • 종류 : 유스케이스, 행위 다이어그램, 인터랙션 다이어그램, 순차 다이어그램
반응형

+ Recent posts