Java

이야기/후기

[면접 후기] 판교에 위치한 청소 매니저 관련 서비스 회사

안녕하세요. 점냥입니다:) 오늘은 처음으로 신입 Android 개발자 면접 후기를 가져왔습니다. 제가 이번에 면접 본 회사는 판교에 위치해 있고, 청소 매니저 서비스와 관련된 회사입니다. Android 면접 질문에 대해 공유해드릴 겸, 이번 면접 경험이 매우 만족스러워서 포스팅을 작성하게 되었습니다. 1차 면접 서류를 넣고 나서 3~5일이 지난 후, 합격 결과와 면접 일자를 정해 달라는 메일을 받게 되었습니다. 요즘 코로나로 인해서 화상 면접으로 진행될 줄 알았지만 판교에 위치한 회사에서 대면 면접으로 진행했습니다. 저는 오히려 좋았습니다. 최근에 집에만 있다 보니 ㅎ.. 그런데 면접 당일 날까지 회사 위치를 직접 공지해주지 않아서 당황했어요. 면접 날 메일로 자세히 찾아오는 법을 링크로 건네주는 회사가..

Language/Java

[Java] Thread 강제 종료 시키는 방법

안녕하세요. 점냥입니다:) 이번 포스팅에서는 Java Thread를 외부에서 종료시키는 방법에 대해서 작성해보려고 합니다. 이 주제는 최근 기업 기술 질문에서 대답을 못한 질문 중에 하나로 정답을 찾고 정리하고자 이번 포스팅을 준비하게 되었습니다. while문에서 무한 루프를 돌고 있어 종료되지 않는 스레드, 외부에서 어떻게 강제 종료시킬 수 있는가? class SampleThread implements Runnable { @Override public void run() { while(true) { System.out.println("thread is running"); } } } 모든 Thread는 Runnable의 run() 함수 내 코드를 실행하고 함수의 모든 코드가 실행이 되면 스레드는 자동으로..

Algorithm

[Algorithm] 백준 1676 - 팩토리얼 0의 개수

문제본문입력으로 들어오는 N! 의 결과 값에서 뒤에서부터 0이 아닌 숫자가 나올 때까지 0의 개수를 구하라문제에서 주어지는 N의 범위는 0 입니다. 팩토리얼 계산이라는 것을 가정하면 엄청 큰 정수를 나올 텐데요. 이때 자료형으로 표현할 수 있을지 판단해야 합니다. 결과적으로 N의 범위에서 계산되는 팩토리얼의 값을 int 또는 long 자료형에 담을 수 없습니다. 다만 BigInteger를 사용하시면 값을 담을 수 있습니다. BigInteger로 팩토리얼의 값을 계산 후 0의 수를 구하셔도 됩니다. 하지만 이번 글에서는 소인수 분해 성질을 이용해서 풀어보려고 합니다.첫 번째 방법 - 5와 2의 개수 구하기어떤 숫자 뒤에 0이 있다는 말은 10의 곱으로 이루어져 있다는 뜻일 겁니다. 320 = 32 x 1..

Algorithm

[Algorithm] 백준 2981 - 검문

문제본문어떠한 수 V(i)에 대해서 몫이 a고 나머지가 r이라면 아래의 수식이 성립한다. V(i) = a(i) * m + r(i) 그리고 V(i)에서 V(i-1)을 빼면 아래와 같은 수식이 된다.V(i) - V(i-1) = (a(i) - a(i-1)) * m + (r(i) - r(i-1)) 문제에서 원하는 답은 N개의 수에 대해서 M으로 나누었을 때 나머지가 모두 동일하게 되는 M을 모두 찾는 것이다. 나머지가 모두 동일하다는 것을 위 수식에 적용해 보자. V(i) - V(i-1) = (a(i) - a(i-1)) * m + 0 r(i)와 r(i-1) 값이 같으니 나머지 부분이 0이 된다. a(i) - a(i-1)의 값을 A로 치환해서 다시 보자. V(i) - V(i-1) = A * m + 0어떤 수를 ..

Language/Java

[Java] Singleton 구현 방법

Singleton 패턴은 클래스당 하나의 인스턴스만을 보장하는 디자인 패턴입니다. Java는 Kotlin의 object 키워드 같은 Singleton를 위한 문법이 존재하지 않기 때문에 직접 구현해줘야 합니다. 이번 글에서는 Java에서 Singleton 패턴을 구현하는 방법에 대해 알아보겠습니다. Eager Initializationpublic class A { private A instance = new A(); private A() {} public static A getInstance() { return instance; }}가장 쉽게 Singleton을 구현하는 방법입니다.기본 생성자를 private로 선언하여 외부에서 생성을 막고, 오로지 static getInstanc..

Language/Java

[Java] String pool

평일 오후, 안드로이드 오픈 톡방에 어느 한 사람이 질문을 올렸다. Android Intent 처리 코드에서 if 문이 수행이 안되는데 이유를 모르겠다는 것이었다. final String text = "길찾기" if (text == textView.getText().toString()) { // Intent로 다른 엑티비티로 이동 } 처음 보자마자 String 값 비교를 == 문법으로 수행한 것이 잘못된 점이라고 단정 지었다. eqauls 함수를 사용하는 것이 올바르다고 생각했다. 하지만 내가 잘 못 알고 있었다. 톡방의 여러 사람들의 답변을 들어보니 상황에 따라서 == 문법이 틀린 코드가 아니라는 사실을 알게 되었다. Jvm에서 String 메모리 할당 구조에 대해서 잘 알지 못해 놓친 부분이..

점냥
'Java' 태그의 글 목록