아틀라시안(Atlassian)이란? 아틀라시안은 오스트레일리아의 시드니에 기반을 두고 있으며 소프트웨어 개발자들을 타깃으로 하는 전사적 소프트웨어를 만드는 기업이다. 아틀라시안에서 제공하는 유명한 제품들로는 지라(Jira), 뱀부(Bamboo), 비트버킷(Bitbucket) 등이 존재한다. 카카오와 같은 국내 유명 대기업들에서도 아틀라시안이 제공하는 소프트웨어를 많이 사용하고 있다. 내가 입사한 회사에서도 아틀라시안의 지라, 뱀부, 비트버킷 등을 이용한다. 따라서 이에 대해 포스팅해보고자 한다. 우선 우리 회사에서 주로 사용하는 제품들만 소개해보도록 하겠다. 지라(Jira) 지라는 이슈 및 작업을 관리할 수 있는 협업 툴이라고 볼 수 있다. 큰 아이디어를 사용자 스토리, 이슈 및 작업으로 팀 전반에서 관..
서류 전형 & AI 면접 검사 현대 아이티앤이는 다음과 같은 4가지 항목에 대해 자기소개서를 작성해야 한다. 1. 현대백화점그룹이 지향하는 4가지 실천가치(열정/소통/창의/파트너십 중 택 1)와 부합하는 본인의 강점과 경험을 기술하여 주십시오 2. 본인이 지원하는 직무에 있어 다른 지원자와는 차별화된 역량 및 그와 관련된 경험 혹은 경력을 기술하여 주십시오. 3. 기존과 다른 새로운 변화를 시도했던 경험과 그를 통해 배운 점이 무엇인지 기술하여 주십시오. "새로운 기술 습득의 중요성" 4. 당사 지원동기와 입사 후 포부를 기술하여 주십시오. 1번이 조금 까다로웠지만, 나머지 문항은 일반적으로 자기소개서에 작성하는 항목이었기 때문에, 어렵지 않게 작성할 수 있었다. 서류 전형을 통과하면 AI 면접을 진행하..
서류 전형 LG CNS의 서류는 작성하기 수월했다. 자기소개서의 문항이 2문항으로 많지 않고, 글자 수도 많지 않기 때문에 자기소개서 작성에 대한 부담을 많이 낮춰준 것 같다. 자기소개서 문항은 다음과 같았다. 1. My Competency 지원분야와 관련된 구체적인 지식이나 경험을 기술해주십시오. 2. LG CNS에 지원한 동기와 입사 이후 꿈꾸는 것은 무엇인가요? 다른 회사들에서도 많이 물어보는 내용이기 때문에 작성하는데 큰 어려움은 없었다. 코딩테스트 및 인적성 LG CNS의 코딩테스트는 총 3문제를 180분간 풀게 된다. 문제에 대해 서술할 순 없지만, 난이도는 그렇게 어렵진 않은 편이다. 주로 구현 위주의 문제가 나왔고, 평소 코딩테스트를 열심히 준비했다면 어렵지 않게 해결할 수 있다. 인적성 ..
서류전형 이번 2022 상반기 LG전자 VS연구소 공채는 서류 전형이 존재하지 않았다. 따라서 모든 사람이 지원하기만 하면 서류전형은 통과되었다. 코딩테스트 및 인적성 나는 LG전자 뿐만 아니라 LG유플러스, LG CNS도 지원했다. 특이한 점은 3곳 중 1곳만 인적성 테스트를 봐도 다른 기업들도 모두 같은 결과를 공유한다는 것이다. 총 3번의 인적성을 보지 않아도 되어 매우 편리했다. 코딩테스트는 총 3개의 문제를 풀게 된다. 난이도는 그렇게 어렵진 않았으나, 3번 문제가 조금 난이도가 있었다. 문제를 알려줄 순 없지만, 평소 코딩테스트를 열심히 준비했다면 무난하게 풀 수 있는 수준이였다. 인적성 테스트는 딱히 준비하지 않았다. 모든 문제에 솔직하게 대답하였다. 다행히 코딩테스트 및 인적성 전형은 통과..
라인플러스 1차 면접 후기 2022 상반기 라인플러스 공채 필기테스트를 합격하고 1차 면접을 보게 되었다. 1차 면접 일정은 4월 18일(월) ~ 5월 2일(월) 기간 중 하루에 약 1시간가량 면접을 보게 된다. 나는 운이 안 좋게도(?) 4월 18일 첫째 날에 면접을 보게 되었다 ㅠㅠ 아무래도 가장 먼저 면접을 보기 때문에 다른 지원자들에 비해 준비할 시간이 매우 촉박했다. 면접 준비는 CS 기초 지식들 복습, 예상 질문 연습, 스프링 및 JPA 기술 복습 등을 했다. 실제 면접 날 ZOOM을 이용하여 면접을 진행했다. 면접관은 총 3분이 들어오시고, 3대 1 면접을 진행하게 된다. 나는 Media Service Server Engineer 직무를 선택했는데, 해당 부서의 실무진 분들이 들어오셨다. 면..
라인 필기테스트 후기 2022 상반기 라인플러스 공채에서 코딩 테스트를 합격하고 필기테스트를 보게 되었다. 코딩 테스트에 이어 필기테스트까지 준비하느라 조금 힘들었지만 그래도 열심히 준비했다! 필기테스트에서 나온 문제에 대해서는 규약 때문에 말해줄 순 없지만 대충 자료구조, 알고리즘, 네트워크, DB, 운영체제, 컴퓨터 구조, 프로그래밍 언어 등 CS 기초 지식들에 대해서 물어보는 시험이였다. 필기테스트 준비는 학부 시절 공부했던 PPT 자료들과 전공 서적들, 그리고 내가 정리한 블로그 글들을 위주로 공부하였다. 필기테스트는 4월 2일(토) 오전 10시 ~ 오전 11시 30분까지 총 1시간 30분을 보았다. 인터넷 검색이나 자료를 참고할 수 없다. 화상 감독을 실시한 상태로 시험을 보게 된다. 난이도는 ..
문제 https://www.acmicpc.net/problem/16500 16500번: 문자열 판별 첫째 줄에 길이가 100이하인 문자열 S가 주어진다. 둘째 줄에는 A에 포함된 문자열의 개수 N(1 ≤ N ≤ 100)이 주어진다. 셋째 줄부터 N개의 줄에는 A에 포함된 단어가 한 줄에 하나씩 주어진다. A에 www.acmicpc.net 풀이 이 문제는 아래와 같이 DP를 사용하여 해결할 수 있다. 1. A에 있는 문자열을 HashSet 자료구조에 모두 저장한다. 2. S의 뒷자리부터 0까지 순서대로 문자열을 substring으로 잘라 A에 속해있는지 확인한다. ex) t, st, est, test, ntest, ontest, contest ..... 3. 만약 substring이 A에 속해있다면 해당 ..
MVC 패턴의 등장 배경 하나의 서블릿 혹은 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리한다면, 너무 많은 역할을 하게 되어 유지보수가 어렵다. 또한, UI를 일부 수정하는 일과 비즈니스 로직을 수정하는 일은 변경 시점이 다를 가능성이 매우 높다. 따라서 변경의 라이프 사이클이 다른 부분을 하나의 코드로 관리하는 것은 유지보수하기 좋지 않다. 특히, JSP 같은 뷰 템플릿은 화면을 렌더링 하는데 최적화 되어 있기 때문에 이 부분의 업무만 담당하는 것이 좋다. MVC 패턴을 사용하면 JSP나 서블릿으로 처리하던 것을 컨트롤러,모델,뷰라는 영역으로 서로 역할을 나눠 처리할 수 있다. 참고 : [Web] 서블릿(Servlet)이란? 서블릿 컨테이너란? [Web] 서블릿(Servlet)이란? 서블릿 컨..
문제 https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 풀이 이 문제는 정말 재밌는 문제였다. 문제에 나온대로 그냥 덧셈을 모두 하게 되면 시간초과가 발생할 수 밖에 없다. N*M배열에 K개의 명령이 있을 때 O(KNM)이라는 시간복잡도가 발생하기 때문이다...
문제 https://www.acmicpc.net/problem/1941 1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5×5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작 www.acmicpc.net 풀이 이 문제는 단순히 BFS, DFS를 사용하면 해결하기 매우 힘들다. 모든 자리에서 4방향을 모두 조사하는 식으로 탐색하면 경우의 수가 너무 많아 시간 초과가 발생한다. 따라서 조합을 사용하여 해결하는 편이 좋다. 25개의 자리 중 7개를 선택하는 경우의 수는 25C7 = 480700 으로 작은 편이다. 1. 25개의 자리 중 7개를 뽑는다. 2. 해당 7개의 자리가 모두 상하좌우로 연결되어..
B- 트리란?보통 B 트리라고 하면 B- 트리를 의미한다. B 트리는 트리 자료구조의 일종으로 이진트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조이다. 이러한 B 트리의 다음과 같은 특징을 그림과 함께 알아보자. 1. 노드에는 2개 이상의 데이터(key)가 들어갈 수 있으며, 항상 정렬된 상태로 저장된다. [그림 1]처럼 한 노드에 2개, 3개의 데이터가 들어가 있을 수 있으며, 항상 정렬된 상태로 저장된다. 2. 내부 노드는 ceil(M/2) ~ M개의 자식을 가질 수 있다. 최대 M개의 자식을 가질 수 있는 B 트리를 M차 B트리라고 한다. [그림 1]은 3차 B트리를 나타낸다. ceil() 함수는 올림 함수를 뜻한다. 즉, ceil(3/2) = 2이다..
문제 https://www.acmicpc.net/problem/1522 1522번: 문자열 교환 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 www.acmicpc.net 풀이 이 문제는 아이디어가 매우 중요하다. 알고리즘 분류에 슬라이딩 윈도우로 표시되어 있는 것을 보고 힌트를 얻었다. a가 연속적이여야 한다는 말은 a가 a의 개수 만큼 연속적으로 위치해야 한다는 뜻이다. 예를 들어, "ababa" 라는 문자열이 있다면, a가 3개이므로 "aaabb", "baaab", "bbaaa".... 등 a가 3개 연속적으로 위치해야한다. 따라서, 인덱스 0 부터 끝까지 ..