공부 45

8번째 면접을 준비하며

아마 8번째가 맞을 거다. (대면 2번, 비대면 5번) 면접을 눈 앞에 두고... 면접을 눈앞에 두고, 기술 면접과 더불어 임원 면접 준비를 하고 있습니다. 주변에 통화 면접을 봤던 친구들이 여럿 있어 공통적으로 자주 나오는 질문들을 간추려서 각 항목마다 답변을 달고 workshop-6349.tistory.com 이전(4월 26)에 작성했었지만, 이제는 기술적인 공부도 물론 중요하지만, 지금까지 총 7번 동안의 면접을 보면서 내가 왜 최종합격까지 못 가는 이유를 어느정도 찾은 듯 하다. 조만간 면접이 한 번 더 있는 데, 이번에는 기필코 1차 합격을 하고자 한다. (2차까지 가서 최종에서 떨어진 적도 있긴 하지만) 내가 대면 면접을 보고 나면 항상 피드백을 해주셨는 데, 대개 다음과 같은 내용이었다. 자..

공부 2023.06.30

면접을 눈 앞에 두고...

면접을 눈앞에 두고, 기술 면접과 더불어 임원 면접 준비를 하고 있습니다. 주변에 통화 면접을 봤던 친구들이 여럿 있어 공통적으로 자주 나오는 질문들을 간추려서 각 항목마다 답변을 달고 있습니다. 공통적으로 나왔던 질문들은 다음과 같습니다. 1. REST API의 정의 2. Transaction이란? 3. 토큰과 세션의 차이 4. 정규화와 반정규화의 차이 5. 우리 회사에 왜 지원했는가 6. 오픈소스에 관심이 많은 이유 (이력서에 오픈소스에 관심이 많다고 작성함) 순서대로 짧게 답변을 달아보자면 A1. 리소스에 이름을 부여한 후, HTTP를 통해 리소스에 접근하는 방식 - HTTP Method를 통해 접근하며, CRUD 마다 METHOD를 지정한다. - 이러한 HTTP 표준 규격을 잘 지키며 만든 RES..

공부 2023.04.26

[데이터베이스 복습] 데이터의 이해

데이터, 정보, 지식에 대한 개념과 특징 1. 데이터 데이터는 현실세계에서 발견, 조사, 수집, 창작을 통해 기초자료만 수집 자원의 형태 그대로의 것을 말한다. 즉, 인간의 가치와 판단이 들어가 있지 않은 상태로, 자연 상태 그대로를 뜻하는 사실(Fact)과 관련이 있다. 2. 정보 정보는 다양한 데이터를 목적에 맞게 일정한 규칙에 따라 정리하고 분류하여 체계화한 형태를 의미하며, 데이터를 일정한 양식으로 처리, 가공하면 특정 목적을 달성하는 데 필요한 정보가 생산된다. 3. 지식 지식은 수많은 구체화된 정보로부터 일반화된 사항이라고 할 수 있으며, 정보화된 데이터의 의미와 관계를 해석하고 연구하는 과정에서 생성된다. 정보가 지식이 되기 위해서는 정보간의 연관성이 설정되어야 하므로 정보화된 데이터의 의미..

백엔드 로드맵 공부

백엔드 로드맵 공부 백엔드 로드맵과 관련된 이미지인데 해당 링크를 통해 다운로드 받으실 수 있습니다. 일단 현재 대소고에서 1년간 보내며 몇 가지 시도를 해보면서 백엔드 개발을 해보기로 결정했습니다.. (물 workshop-6349.tistory.com 위 글 내용을 보안하고자 글을 하나 더 작성합니다. 위 로드맵이 있더라도 백엔드 취업과 관련하여 갈피를 못 잡고 있는 제 자신을 보며, 글도 보안할 겸 앞으로 다시 공부해야할 것들을 조금 탄탄하게 작성하기 위해 작성하였습니다. 저와 같이 갈피를 못 잡거나 정확히 분야를 정하지 못한 분들께 조금이나 도움이 되시길 바랍니다. (※필자는 자바와 스프링으로 주력으로 공부하고 있기때문에 그 위주로 작성하였습니다. 또, 신입을 기준으로 작성하였습니다. 참고해주세요...

공부/서버 2022.05.24

기존 칼럼에 특정 수만큼 더하기

수업 중에 우리 반 정보를 테이블에 추가하는 준노가다를 하는 중 다른 반 학번을 넣었다는 것을 다 적고 나서야 깨달았다. update를 사용하여 처리하면 됐지만, 19개나 되는 로우를 바꾸는 것은 너무 오래 걸릴 것을 우려해서 약간 고민을 해본 결과, 기존 칼럼에 특정 수(=100)만큼만 더하면 처리가 된다는 것을 알고 다음과 같은 쿼리를 사용해 문제를 해결하였다. 기존 값에 접근하기 위해서는 (테이블명).(칼럼명)을 하면 된다. 약간 this를 사용한 느낌이다. 동일한 칼럼명을 쿼리에 둘 다 넣어야하나, 하나는 기존값이고, 하나는 명시형이기 때문이다. update문의 set 다음에 들어오는 칼럼명은 명시형이고, 기존 student_number임을 알려주기 위해 class22.student_number로..

[공부/서버] 앞으로 공부해야할 것들

앞으로 공부해야할 것들, 5번째 글입니다. 어떻게 되다보니, 시리즈처럼 계속 올리는 것 같습니다. 이제 무엇을 공부해야하는 지 어느 정도 감을 잡았습니다. 여러 구인구직 사이트들과 여러 블로그 글들을 참고해서 어느 정도 감을 잡았습니다. 하지만, 여전히 길을 잘못 들었을 수도 있기에 "앞으로 공부해야할 것들"은 계속해서 포스팅할 것 같습니다. 1. DataBase 데이터베이스 기초 및 튜닝 SQL 튜닝 Transaction CS Redis Kafka 2. Java Java 고급 직렬화 클린 아키텍처 Dynamic Proxy, CGLib Proxy Reflection API 비동기 알고리즘 3. Spring Framework 스프링 기초부터 스프링 기반 프레임워크 및 라이브러리 TDD AOP PSA Tra..

공부/서버 2022.05.13

[공부/서버] MSA (MicroService Architecture)

MSA란? 작고, 독립적으로 배포가 가능한 각각의 기능을 수행하는 서비스로 구성된 아키텍처라고 할 수 있다. 마이크로 서비스는 온전히 독립적으로 배포가 가능하며, 다른 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능한 단일 비즈니스 영역에 초점이 있다. MSA의 등장 배경 Monolithic Architecture는 소프트웨어의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태이다. 아키텍처가 단순하며, 유지보수가 용이하다. 하지만 일정 규모 이상의 서비스, 혹은 수백명의 개발자가 투입되는 프로젝트에서는 한계가 보인다. Monolithic Architecture의 한계는 다음과 같습니다. 서비스/프로젝트가 커질 수록 영향도 파악 및 전체 시스템 구조의 파악을 하는 데 어려움이 생긴다. 빌드 시간 ..

공부/서버 2022.05.09

super(CS.교착상태);

교착 상태란? 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상이다. 위 예시보다 더 알기 쉬운 예시로는 다음과 같은 예시가 있다. (A)는 지붕에, (B)는 1층에 있다고 가정을 하자. 1층에서 지붕으로 가는 유일한 방법은 하나의 사다리 뿐이다. 이때, (A)가 지붕에서 1층으로 내려가려고 하고, (B) 역시 1층에서 지붕으로 올라가려고 한다면 서로 통과하지 못하고 상대방이 비켜주길 무한정 기다리게 될 것이다. 교착 상태를 발생하기 위해서는 다음 4가지가 모두 충족되어야 교착상태가 발생할 가능성이 생긴다. 어느 한 가지라도 충족하지 않는 다면 교착상태는 반드시 발생하지 않는다. 상호배제 한 번에..

공부/CS 2022.05.03

정렬 알고리즘

정렬을 해결하는 데 여러 알고리즘을 사용하고, 어떤 알고리즘이 어떤 상황에 적절한 상황인지는 판별하기 다소 어렵다. 물론 다음과 같은 표가 있어 어느 정도 유추는 가능하나, 앞서 말한 좋은 상황, 나쁜 상황을 알기에는 부족하다. 그렇기에 직접 자바로 이를 테스트를 진행할 프로그램을 작게나마 만들었다. testcase패키지는 테스트 케이스이며 즉, 상황(문제)을 임의적으로 넣어둔 클래스들이 모여있다. Sort 인터페이스는 모든 정렬 알고리즘의 공통 영역이다. algorithm 패키지는 위 7가지 정렬 알고리즘을 구현한 클래스들이 모여있다. StopWatch 클래스는 시간을 계산할 수 있는 클래스이다. GitHub - iqpizza6349/sort-algorithm Contribute to iqpizza63..

일단 마시고 본다. (상속)

자바를 개발하다 보면 상속이라는 개념을 배우게 됩니다. 그리곤 extends Object 가 있다는 것만 기억하게 되고 상속을 잊어버립니다. (전부가 그렇다는 것은 아니지만 제 친구는 잊어버렸습니다. 실제로 추상클래스 상속하라고 했더니 클래스 상속 어떻게 하는 건데? 인터페이스여야지만 상속되는 거 아니었음? 라고 했던 비하인드가 있습니다.(그친구는 개발에 흥미만 있는 친구입니다.)) 상속은 자바에 있어 굉장히 중요한 개념입니다. 부모가 가진 것을 자식에게 물려줄 수 있다는 점, 그리고 protected로 부모와 자식외에는 접근조차 불가한 접근 제어자까지 있습니다. 또, 부모에서 받은 것들을 재정의할 수 있다는 점에서 더 중요함을 알려줍니다. 예시를 들자면, Machine과 Robot으로 간단하게 들 수 ..

공부/Java 2022.04.25