전체 글 192

2021 하반기 이직 프로젝트 (1) : 경력 개발자의 이직 준비물

보통 개발자의 채용 전형 과정은 서류 → 코딩 테스트(or 과제 테스트) → 1차 직무 면접 → 2차 임원 면접 으로 진행된다. 회사마다 전형이 다르지만 내가 공통적으로 느꼈던 부분을 정리해보려고 한다. 서류 서류는 이력서 + 포트폴리오다. 보통 포트폴리오는 선택적으로 제출하는 것이 대부분이지만 나는 필수라고 생각한다. 특히 Android 개발자인만큼 화면을 보여줄 수 있는 장점이 있었다. 이 장점을 적극 활용해서 포트폴리오를 제작했다. 다른 포트폴리오를 많이 찾아 보며 파워포인트로 나만의 양식을 만들었다. 포트폴리오가 나를 뽐내는 것이라면 이력서는 나를 소개하는 것이다. 이력서에는 다음을 포함한다. 1. 프로필 + 간단한 자기 소개 2. 인적 사항 3. 경력 사항 4. 경력 상세 (프로젝트 내용) 이력..

퇴사

2021.08.31.(화) 2018년 9월에 입사하고 안드로이드 개발자로서 그리고 iMBC 구성원으로서 자부심을 가지고 일을 했다. 올해 3월에 갑작스러운 갑상선 암 진단으로 휴직을 하게 되었고, 9월 복직 예정이었지만 과감하게 퇴사를 진행했다. 가장 큰 퇴사 이유는 왕복 4시간 거리를 다니기 힘들 것 같아서, 그리고 이직 준비에 제대로 집중하고 싶었다. 그동안 왕복 4시간 거리를 어떻게 다녔는지 생각해보면 역시 나는 회사에 다니는 것이 즐거웠던 것 같다. 좋은 사람들과 내가 좋아하는 일을 한다는 것이 어찌 보면 정말 감사한 일이었다. 팀장님과 팀원분들이 다행히 나의 퇴사를 이해해주셨다. 앞으로 나의 새로운 출발을 응원한다고 하셨다. iMBC는 다니면서 아쉬운 점도 물론 있었지만 지금의 나를 만들어준 정..

[Java] String에 대한 고찰 : StringBuilder, StringBuffer, String Pool

Java에서는 문자열을 저장하는 자료형으로 String을 제공합니다. String 클래스에는 문자열 관련 작업을 할 때 유용한 다양한 메소드를 제공합니다. 대표적인 특징은 다음과 같습니다. 1. String은 불변 객체입니다. 인스턴스가 한 번 생성되면 그 값을 읽기만 가능하고, 수정이 불가능합니다. 2. String은 final class이기 때문에 상속받을 수 없습니다. 이러한 특징 때문에 Java는 문자열을 가변적으로 수정할 수 있도록 StringBuilder와 StringBuffer 클래스를 제공합니다. 이외에도 계속 생성되는 인스턴스로 인한 메모리 이슈를 생각하여 String Pool이라는 것도 고안했습니다. 이제부터 StringBuilder, StringBuffer 그리고 String Pool..

안드로이드 앱의 기본 구성 요소 (1) : Actvity와 수명주기

Activity는 안드로이드 앱 개발에 있어 필수적으로 알아야 할 구성요소입니다. 가장 큰 특징은 앱이 UI를 그리는 창을 제공한다는 것입니다. 우리가 보통 보는 앱의 화면은 Activity 이며, 대부분의 앱은 여러 화면을 제공하기 때문에 여러 개의 Activity로 구성되어 있다고 생각할 수 있습니다. 또한, Activity는 사용자가 앱 상호작용을 하기 위한 진입점입니다. 한 앱이 다른 앱을 호출할 때, 전체를 호출하는 것이 아니라 다른 앱의 Activity를 호출하는 것이기 때문입니다. 이러한 동작은 manifest 파일에 Activity 및 관련된 속성을 선언하여 구성할 수 있습니다. Manifest 구성 Activity를 사용하기 위해서는 manifest 파일에서 태그를 하위 요소로 추가해야 ..

[JAVA] 프로그래머스 Lv.2 : [1차] 뉴스 클러스터링

🔥 2018 KAKAO BLIND RECRUITMENT 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018 신..

[JAVA] 프로그래머스 Lv.2 : [3차] 파일명 정렬

🔥 2018 KAKAO BLIND RECRUITMENT 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다. 버전 번호 외에도 숫자가 포함된 파일 목록은 여러 면에서 관리하기 불편했다. 예컨대 파일 목록이 ["img12.png", "img10.png", "img2.png", "img1.png"]일 경우, 일반적인 정렬은 ["img1.png", "img10.png", "img12.png", "img..

[JAVA] 프로그래머스 Lv.2 : 스킬트리

🔥 Summer/Winter Coding (~2018) 예제: skill skill_trees return "CBD" ["BACDE", "CBADF", "AECB", "BDA"] 2 제한 조건: 스킬은 알파벳 대문자로 표기하며, 모든 문자열은 알파벳 대문자로만 이루어져 있습니다. 스킬 순서와 스킬트리는 문자열로 표기합니다. 예를 들어, C → B → D 라면 "CBD"로 표기합니다 선행 스킬 순서 skill의 길이는 1 이상 26 이하이며, 스킬은 중복해 주어지지 않습니다. skill_trees는 길이 1 이상 20 이하인 배열입니다. skill_trees의 원소는 스킬을 나타내는 문자열입니다. skill_trees의 원소는 길이가 2 이상 26 이하인 문자열이며, 스킬이 중복해 주어지지 않습니다. So..

[JAVA] 프로그래머스 Weekly 2 : 상호 평가

🔥 Weekly Challenge : 2주차 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77 2 47 88 95 80 67 3 61 57 100 80 65 4 24 90 94 75 65 평균 45.5 81.25 97.2 81.6 67.8 학점 F B A B D 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 100점, 1번 ..

[JAVA] 프로그래머스 Lv.2 : [3차] n진수 게임

🔥 2018 KAKAO BLIND RECRUITMENT 입력 형식: 진법 n, 미리 구할 숫자의 갯수 t, 게임에 참가하는 인원 m, 튜브의 순서 p 가 주어진다. 2 ≦ n ≦ 16 0 < t ≦ 1000 2 ≦ m ≦ 100 1 ≦ p ≦ m 출력 형식: 튜브가 말해야 하는 숫자 t개를 공백 없이 차례대로 나타낸 문자열. 단, 10~15는 각각 대문자 A~F로 출력한다. 예제: n t m p result 2 4 2 1 "0111" 16 16 2 1 "02468ACE11111111" 16 16 2 2 "13579BDF01234567" Solution #1 class Solution { public String solution(int n, int t, int m, int p) { StringBuilder..

[JAVA] 프로그래머스 Weekly 1 : 부족한 금액 계산하기

🔥 Weekly Challenge : 1주차 예제: price money count result 3 20 4 10 제한 사항: 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 count : 1 ≤ count ≤ 2,500, count는 자연수 Solution #1 class Solution { public long solution(int price, int money, int count) { long sum = 0; while (count != 0) { sum += price * count; count--; } long result = sum..

728x90