본문 바로가기

프로그래밍20

라인플러스 면접후기 프로그래머스 앱챌린지 전형으로 라인플러스를 지원했었는데 1차 면접에서 떨어졌다 면접을 보는 내내 대답을 잘하지 못해 떨어질 것을 예상했지만 실제로 결과를 확인하니 마음이 씁씁하다 그래도 첫 면접을 라인플러스에서 본 것으로 만족하고 다음 채용을 기약하며 면접후기를 작성한다. 질문내용 앱챌린지 전형이여서 그런지 아니면 자기소개서가 별볼일 없어서 였는지 챌린지 과제에 대한 질문만 받았다 시작은 간단하게 자기소개로 시작했고 꼬리질문식으로 질문은 크게 3가지였다 1. 디자인패턴 간단한 앱인데 비지니스 로직과 일반로직을 왜 구분했나요 에서 시작한 MVP패턴을 사용한이유(테스트코드와 익숙한 디자인패턴이기때문) - 지금와서 생각해보면 구글의 MVP패턴을 참고하며 제작했는데 context와 view를 왜 중복작성했을까 .. 2020. 4. 15.
기술면접 대비 질문목록 1. Android 1. Handler.post, runOnUiThread View.post 이미지 출처 : http://itmining.tistory.com/16 - Handler Hander는 Looper로 부터 메시지를 받아 처리하거나 메시지를받아 MessageQueue에 넣는역할을한다 위 그림처럼 전달하는 것을 담당하고 Lopper에 의존적이다 기본 생성자로 생성 시 MainThread에 MessageQueue와 Lopper에 연결됨 - Lopper 기본적으로 MainThread는 Looper를 가지며 Thread당 한 개만 가질 수 있고 기본적으로 MessageQueue를 가지고 있다. Handler에서 messageQueue에 메시지를 받으면 handlemessage를 호출한다 - runOnU.. 2020. 3. 25.
Android 디자인패턴별 장단점 비교 (MVC, MVP, MVI, MVVM, SVG) MVC 패턴 View Model 1. 모든 입력은 Controller로 전달되고 2. Controller는 입력에 해당하는 Model을 업데이트한다 3. 업데이트 결과에 따라 Controller는 View를 선택한다 (1:N구조) 4. View를 업데이트하기위해 View가 Model을 직접이용하거나 Model에서 View에서 notify하여 업데이트 결국 View를 업데이트하기 위해서는 결국 M-V사이에 의존성이 생기게 된다 안드로이드는 Activity에서 View와 Controller모두 처리하기때문에 적합하지 않음 MVP 패턴 View Presenter Model MVP는 Model, View, Presenter 로 구성되어있으며 View : Input UI라 할수있고 Button, Text등의 Ev.. 2020. 3. 24.
[Android] Layout Start, End, Left, Right 차이점 글을 쓸때 왼쪽 정렬인 문화와 오른쪽정렬인 문화가 있다고 한다 안드로이드는 전세계적으로 사용하는 os이기때문에 레이아웃을 만들때 국가별로 레이아웃을 수정 할 수는 없으니 우리나라 같은 왼쪽 정렬문화에서는 Start = left End = Right 로 적용이되고 오른쪽 정렬 문화에서는 Start = Right End = Left 로 적용이된다고한다 2019. 12. 3.
[객체지향] SOLID 5원칙 객체지향 프로그래밍의 5가지 원칙에 대해 알아보자. 1. 단일책임 원리 : SRP(Single Responseibility Principle) - 하나의 클래스는 오직 한가지의 책임과 역할을 가지고 있어야함 상인과 상점이 있을때 상인은 판매와 물품 소개를 담당 상점은 물품재고와 물품수주를 담당 상점의 종류가 바뀌더라도 상인은 영향을 받지 않아야함 만약 상인이 판매와 물품 소개, 물품수주를 담당한다면 상점의 종류를 바꿀때 상인이 담당하던 물품수주를 수정해야 하는 경우 가 발생 2. 개방 폐쇄 원칙 : OCP(Open Closed Principle) - 확장에 대해서는 개방적이지만 수정에 대해서는 폐쇄적이여야함 클래스의 기능의 추가의 대해서는 관대하지만 새로운 기능을 위해 클래스를 수정해야하는 경우를 지양 .. 2019. 11. 29.
부스트 코스 에이스 미션 6 (RecyclerView, 개선사항) 1차 PASS 1. RecyclerView 써도써도 금방까먹는다 public class MovieGallaryAdapter extends RecyclerView.Adapter { ArrayList list; Activity context; String thumb; public MovieGallaryAdapter(ArrayList list, Activity context, String thumb) { this.list = list; this.context = context; this.thumb = thumb; } @NonNull @Override public Holder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { LayoutInflater inf.. 2019. 9. 6.