안녕하세요. 점냥입니다:) 오늘은 처음으로 신입 Android 개발자 면접 후기를 가져왔습니다. 제가 이번에 면접 본 회사는 판교에 위치해 있고, 청소 매니저 서비스와 관련된 회사입니다. Android 면접 질문에 대해 공유해드릴 겸, 이번 면접 경험이 매우 만족스러워서 포스팅을 작성하게 되었습니다. 1차 면접 서류를 넣고 나서 3~5일이 지난 후, 합격 결과와 면접 일자를 정해 달라는 메일을 받게 되었습니다. 요즘 코로나로 인해서 화상 면접으로 진행될 줄 알았지만 판교에 위치한 회사에서 대면 면접으로 진행했습니다. 저는 오히려 좋았습니다. 최근에 집에만 있다 보니 ㅎ.. 그런데 면접 당일 날까지 회사 위치를 직접 공지해주지 않아서 당황했어요. 면접 날 메일로 자세히 찾아오는 법을 링크로 건네주는 회사가..
안녕하세요. 점냥입니다:) 이번 포스팅에서는 Java Thread를 외부에서 종료시키는 방법에 대해서 작성해보려고 합니다. 이 주제는 최근 기업 기술 질문에서 대답을 못한 질문 중에 하나로 정답을 찾고 정리하고자 이번 포스팅을 준비하게 되었습니다. while문에서 무한 루프를 돌고 있어 종료되지 않는 스레드, 외부에서 어떻게 강제 종료시킬 수 있는가? class SampleThread implements Runnable { @Override public void run() { while(true) { System.out.println("thread is running"); } } } 모든 Thread는 Runnable의 run() 함수 내 코드를 실행하고 함수의 모든 코드가 실행이 되면 스레드는 자동으로..
문제본문 문제 해석 입력으로 들어오는 N!의 결과 값에서 뒤에서 부터 0이 아닌 숫자가 나올때까지 0의 개수를 구하라 문제를 이해하는 데 시간이 필요했다. 결론적으로 말하면 N!의 결과 값이 301200라고 한다면 뒤에서 부터 0이 2번 나오고 그 다음으로 2가 나온다. 따라서 0이 아닌 숫자가 나올 때까지 0의 개수는 2라고 답할 수 있다. 문제에서 주어지는 N의 범위는 0
문제본문 문제 해석 어떠한 수 V(i)에 대해서 몫이 a고 나머지가 r이라면 아래의 수식이 성립한다. V(i) = a(i) * m + r(i) 그리고 V(i-1) 수식을 V(i) 뺀다면 아래와 같은 수식이 된다. V(i) - V(i-1) = (a(i) - a(i-1)) * m + (r(i) - r(i-1)) 자! 문제에서 원하는 답은 N개의 수에 대해서 M으로 나누었을 때 나머지가 같게되는 M을 모두 찾는 것이다. 나머지가 같다는 것은 위 수식에 대입해보면 답은 V(i) - V(i-1)의 숫자를 나머지가 0으로 만드는 M을 찾는 것이다. N개의 수를 오름차순으로 정렬하기 long[] nums = new long[n]; for (int i = 0; i < nums.length; i++) { nums[i] ..
Singleton 패턴은 Class의 인스턴스를 여러 번 생성하는 것이 아닌 하나의 클래스당 하나의 인스턴스를 가지게 만들어 불 필요한 메모리 낭비를 최소화하는 디자인 패턴입니다. Java에서 Singleton 패턴을 구현하는 방법은 여러 가지가 있고 하나씩 소개하도록 하겠습니다. Eager Initialization public class A { private A instance = new A(); private A() {} public static A getInstance() { return instance; } } 가장 기본적으로 singleton으로 구현한 형태입니다. 기본 생성자를 private로 선언하여 외부에서 생성자의 호출을 막고 오직 getInstance함수로 인해 클래스 객체에 접근할 ..
평범했던 평일 오후, 오픈 톡방에서 한 사람이 Android Intent 이동 부분에서 발생한 오류 부분을 알려달려고 물어 봤다. final String val = "길찾기" if ( val == textView.getText().toString()) { // Intent로 다른 엑티비티로 이동 } 보자마자 String 객체를 == 연산으로 비교한 것이 잘못이라고 생각했지만 큰 오산이었다. String의 메모리 할당 구조에 대해서 잘 알지 못하여 발생한 착각이었다. Java String 참조형 비교 int a1 = 1; int a2 = 1; String b1 = new String("Hello world"); Integer b2 = new String("Hello world"); System.out.pr..