java interview
1.0.0
Victoria Demidova가 작성한 질문과 답변
cmmttd의 전보 봇
내용에
내용에
final
키워드는 무엇을 의미하나요?main()
함수에 대해 무엇을 알고 있나요?abstract
수정자는 어디에서 무엇을 위해 사용됩니까?final
수정자를 사용하여 인터페이스 메서드를 선언할 수 없는 이유는 무엇입니까?private
클래스 변수에 액세스할 수 있나요? 그렇다면 어떻게?static
수정자는 어떤 Java 구성에 적용됩니까?throws
섹션의 요소 순서를 제거, 추가, 변경하시겠습니까?assert
문은 무엇에 사용되나요?finalize()
란 무엇입니까? 왜 필요한가요?finalize()
메서드를 완료하는 데 눈에 띄게 오랜 시간이 걸리거나 실행 중에 예외가 발생하면 가비지 수집기는 어떻게 되나요?final
, finally
및 finalize()
의 차이점은 무엇입니까?ClassCastException
이 발생할 수 있나요?String
클래스의 기능은 무엇입니까?String
?String
보다 char[]
선호하는 이유는 무엇입니까?HashMap
에서 널리 사용되는 키인 이유는 무엇입니까?String
클래스에서 intern()
메서드는 무엇을 수행합니까?switch
구성에 문자열을 사용할 수 있습니까?String
, StringBuffer
, StringBuilder
의 주요 차이점은 무엇입니까?Object
클래스란 무엇입니까? 어떤 방법이 있나요?clone()
메서드가 Cloneable
인터페이스가 아닌 Object
클래스에 선언된 이유는 무엇입니까?equals()
필요한가요? ==
연산과 어떻게 다른가요?equals()
동치 관계를 생성합니다. 그러한 태도에는 어떤 속성이 있습니까?equals()
재정의하려면 재정의된 메서드에 대해 어떤 조건을 충족해야 합니까?Object.equals()
메서드를 재정의하기 위한 규칙입니다.hashCode()
와 equals()
사이의 관계는 무엇입니까?equals()
재정의된 경우 재정의해야 할 다른 메서드가 있습니까?hashCode()
재정의하지 않고 equals()
재정의하면 어떻게 되나요? 어떤 문제가 발생할 수 있나요?hashCode()
및 equals()
메서드는 Object
클래스에서 어떻게 구현됩니까?hashCode()
메소드는 무엇을 위한 것인가요?Object.hashCode()
메서드를 재정의하기 위한 규칙입니다.hashCode()
계산할 때 어떤 필드를 사용해야 하는지에 대한 권장 사항이 있나요?hashCode()
가질 수 있습니까?Point{int x, y;}
클래스가 equals(Object that) {(return this.x == that.x && this.y == that.y)}
메서드를 구현하지만 해시 코드를 다음 형식으로 만드는 경우 int hashCode() {return x;}
그러면 해당 포인트가 HashSet
에서 올바르게 배치되고 검색됩니까?(ref0 != ref1)
가 ref0.equals(ref1) == true
가질 수 있습니까?(ref0 == ref1)
에 대한 서로 다른 참조가 ref0.equals(ref1) == false
가질 수 있습니까?equals(Object that) {return this.hashCode() == that.hashCode()}
메소드를 이와 같이 구현할 수 있나요?equals()
인수 equals(Object that)
가 객체 자체와 동일한 유형인지 확인해야 합니다. this.getClass() == that.getClass()
와 that instanceof MyClass
의 차이점은 무엇입니까?MyClass
클래스의 equals()
메소드를 구현할 수 있습니까? class MyClass {public boolean equals(MyClass that) {return this == that;}}
?Point{int x, y;}
클래스가 있습니다. 해시 코드 31 * x + y
가 x + y
보다 선호되는 이유는 무엇입니까?throws
키워드는 무엇을 의미하나요?Error
란 무엇입니까?OutOfMemoryError
에 대해 무엇을 알고 있나요?catch
없이) 사용할 수 있습니까?catch
블록이 한 번에 여러 예외를 잡을 수 있나요?finally
블록은 항상 실행되나요?finally
블록이 실행되지 않는 상황이 있습니까?IOException
과 FileNotFoundException
catch
블록은 어떤 순서로 진행되어야 합니까? 얼마나 많은 catch
블록이 실행됩니까?내용에
List
, Set
, Map
, SortedSet
, SortedMap
, Collection
, Iterable
, Iterator
, NavigableSet
, NavigableMap
인터페이스를 계층 구조로 배열합니다.List
와 Set
이 Collection
인 반면 Map
Collection
아닌 이유는 무엇입니까?java.util.Collection
과 java.util.Collections
클래스의 차이점은 무엇입니까?Enumeration
과 Iterator
의 차이점은 무엇입니까?Iterable
과 Iterator
어떤 관련이 있나요?Iterable
, Iterator
및 "for-each"는 서로 어떻게 관련되어 있나요?Iterator
와 ListIterator
비교하세요.Iterator.next()
먼저 호출하지 않고 Iterator.hasNext()
호출하면 어떻게 되나요?Iterator.next()
10번 호출한 후 Iterator.hasNext()
호출하면 몇 개의 요소를 건너뛰게 됩니까?iterator.remove()
가 호출되면 컬렉션은 어떻게 작동합니까?collection.remove()
호출되면 이미 인스턴스화된 collection
반복자는 어떻게 작동합니까?ConcurrentModificationException
방지하는 방법은 무엇입니까?ArrayList
와 Vector
의 차이점은 무엇입니까?Vector
이미 있는데 ArrayList
추가한 이유는 무엇입니까?ArrayList
와 LinkedList
의 차이점은 무엇입니까? 어떤 경우에 첫 번째 것을 사용하는 것이 더 좋고, 어떤 경우에 두 번째를 사용하는 것이 더 좋습니까?ArrayList
또는 LinkedList
는 무엇입니까?LinkedList
에 있는 요소에 대한 contains()
메서드의 최악의 실행 시간은 얼마입니까?ArrayList
에 있는 요소에 대한 contains()
메서드의 최악의 실행 시간은 얼마입니까?LinkedList
에서 add()
메소드의 최악의 실행 시간은 얼마입니까?ArrayList
의 add()
메소드에 대한 최악의 실행 시간은 얼마입니까?ArrayList
에서 요소를 어떻게 제거합니까? 이 경우 ArrayList
의 크기는 어떻게 변경됩니까?ArrayList
로 구현된 목록의 중간에서 인접한 여러 요소를 제거하는 효율적인 알고리즘을 제안합니다.ArrayList.add()
호출할 때 얼마나 많은 추가 메모리가 필요합니까?LinkedList.add()
호출할 때 얼마나 많은 추가 메모리가 할당됩니까?LinkedList
에 1 byte
프리미티브를 저장하기 위한 메모리 양을 추정합니까?ArrayList
에 1 byte
프리미티브를 저장하기 위한 메모리 양을 추정하시겠습니까?ArrayList
또는 LinkedList
의 경우 중간에 요소를 추가하는 작업( list.add(list.size()/2, newElement)
)이 더 느립니까?ArrayList
클래스의 구현에는 Object[] elementData
, int size
필드가 있습니다. elementData.length
항상 사용할 수 있다면 size
별도로 저장해야 하는 이유를 설명하세요.Queue
및 Deque
인터페이스를 비교하십시오.Queue
Deque
확장합니까, 아니면 Deque
Queue
확장합니까?LinkedList
List
와 Deque
모두 구현하는 이유는 무엇입니까?LinkedList
단일 연결 목록인가요, 이중 연결 목록인가요, 아니면 4개 연결 목록인가요?get(index)
사용하지 않고 LinkedList
요소를 역순으로 반복하는 방법은 무엇입니까?PriorityQueue
사용하면 무엇을 할 수 있나요?Stack
"구식"으로 간주됩니다. 무엇으로 교체하는 것이 좋습니다? 왜?Hashtable
있는데 왜 HashMap
필요한가요?HashMap
과 IdentityHashMap
의 차이점은 무엇입니까? IdentityHashMap
무엇을 위한 것인가요?HashMap
과 WeakHashMap
의 차이점은 무엇입니까? WeakHashMap
어떤 용도로 사용되나요?WeakHashMap
WeakReference를 사용합니다. SoftReferences에 SoftHashMap
생성해 보는 것은 어떨까요?WeakHashMap
WeakReference를 사용합니다. PhantomReferences에 PhantomHashMap
생성해 보는 것은 어떨까요?LinkedHashMap
- LinkedList
는 무엇이고 HashMap
무엇입니까?toString()
이 모든 요소를 순서대로 표시한다는 사실 외에 SortedMap
어떻게 "정렬"됩니까?HashMap
어떻게 작동하나요?HashMap
어떻게 구현되나요? 이 특정 구현이 선택된 이유가 무엇이라고 생각하시나요? 각 접근 방식의 장단점은 무엇입니까?hashCode()
동일하지만 equals() == false
키로 두 요소를 HashMap에 저장하려고 할 때 HashMap
어떻게 작동합니까?HashMap
의 초기 버킷 수는 얼마입니까?HashMap
의 요소에 대한 작업의 시간 복잡도는 어떻게 추정됩니까? HashMap
지정된 요소 가져오기 복잡성을 보장합니까?hashCode()
다른 키를 사용하더라도 HashMap
목록으로 변질될 수 있습니까?HashMap
의 요소가 손실될 수 있나요?HashMap
에서 byte[]
키로 사용할 수 없는 이유는 무엇입니까?HashMap
에서 equals()
와 hashCode()
의 역할은 무엇입니까?hashCode()
최대 개수는 얼마입니까?HashMap
에 없는 키에 대한 get(key) 메서드의 최악의 런타임은 무엇입니까?HashMap
에 있는 키에 대한 get(key) 메소드의 최악의 실행 시간은 얼마입니까?HashMap
의 키가 Comparable
인터페이스를 구현하는 데 필요하지 않음에도 불구하고 이중 연결 목록이 항상 레드-블랙-트리로 변환될 수 있는 이유는 무엇입니까?HashMap.get(key)
이 호출될 때 몇 번의 전환이 발생합니까?HashMap
에 새 요소를 추가하면 몇 개의 새 객체가 생성되나요?HashMap
의 버킷 수는 언제 어떻게 증가합니까?HashMap(int initialCapacity, float loadFactor)
생성자에 있는 매개변수의 의미를 설명하세요.hashCode()
갖는 경우 HashMap
작동합니까?Map
모든 키를 반복하는 방법은 무엇입니까?Map
값을 반복하는 방법은 무엇입니까?Map
의 모든 키-값 쌍을 반복하는 방법은 무엇입니까?TreeSet
과 HashSet
의 차이점은 무엇입니까?TreeSet
에 요소를 오름차순으로 추가하면 어떻게 되나요?LinkedHashSet
HashSet
과 어떻게 다릅니까?Enum
위한 특수 클래스인 java.util.EnumSet
이 있습니다. 무엇을 위해? 저자가 HashSet
또는 TreeSet
에 만족하지 않은 이유는 무엇입니까?ConcurrentModificationException
발생시키는 단일 스레드 프로그램을 작성하세요.UnsupportedOperationException
발생하는 경우의 예를 들어보세요.Collection
메서드( addAll(...)
, removeAll(...)
, retainAll(...)
)를 사용하여 두 컬렉션의 대칭적 차이를 구현합니다.collection
의 요소를 한 줄로 배열에 복사하려면 어떻게 해야 합니까?List
에서 한 번의 호출로 첫 번째와 마지막 3개를 제외한 모든 요소가 포함된 List
얻는 방법은 무엇입니까?HashSet
ArrayList
로 변환하는 방법은 무엇입니까?ArrayList
HashSet
으로 변환하는 방법은 무엇입니까?HashMap
키에서 HashSet
만듭니다.HashSet<Map.Entry<K, V>>
에서 HashMap
만듭니다.내용에
System.out::println
표현식을 설명하세요.Function<T,R>
, DoubleFunction<R>
, IntFunction<R>
및 LongFunction<R>
함수 인터페이스는 무엇을 위한 것입니까?UnaryOperator<T>
, DoubleUnaryOperator
, IntUnaryOperator
및 LongUnaryOperator
기능 인터페이스는 무엇입니까?BinaryOperator<T>
, DoubleBinaryOperator
, IntBinaryOperator
및 LongBinaryOperator
기능 인터페이스는 무엇입니까?Predicate<T>
, DoublePredicate
, IntPredicate
및 LongPredicate
기능 인터페이스는 무엇을 위한 것인가요?Consumer<T>
, DoubleConsumer
, IntConsumer
및 LongConsumer
는 무엇입니까?Supplier<T>
, BooleanSupplier
, DoubleSupplier
, IntSupplier
및 LongSupplier
기능적 인터페이스는 무엇을 위한 것인가요?BiConsumer<T,U>
기능 인터페이스의 용도는 무엇입니까?BiFunction<T,U,R>
에는 어떤 기능 인터페이스가 필요합니까?BiPredicate<T,U>
기능 인터페이스의 용도는 무엇입니까?_To_Function
과 같은 기능적 인터페이스는 무엇에 필요합니까?ToDoubleBiFunction<T,U>
, ToIntBiFunction<T,U>
및 ToLongBiFunction<T,U>
기능 인터페이스는 무엇입니까?ToDoubleFunction<T>
, ToIntFunction<T>
및 ToLongFunction<T>
의 용도는 무엇입니까?ObjDoubleConsumer<T>
, ObjIntConsumer<T>
및 ObjLongConsumer<T>
의 기능 인터페이스는 무엇입니까?StringJoiner
란 무엇입니까?default
인터페이스 방법이란 무엇입니까?default
메서드를 호출하는 방법은 무엇입니까?static
인터페이스 방법이란 무엇입니까?static
인터페이스 메서드를 호출하는 방법은 무엇입니까?Optional
무엇입니까?Stream
무엇입니까?Collection
과 Stream
의 차이점은 무엇입니까?collect()
메소드는 무엇입니까?forEach()
및 forEachOrdered()
메서드가 스트림에 사용되는 이유는 무엇입니까?map()
및 mapToInt()
, mapToDouble()
, mapToLong()
메서드는 무엇입니까?filter()
메서드의 목적은 무엇입니까?limit()
메서드는 무엇입니까?sorted()
메서드의 목적은 무엇입니까?flatMap()
, flatMapToInt()
, flatMapToDouble()
, flatMapToLong()
메서드는 무엇입니까?forEach()
사용하여 10개의 난수를 화면에 인쇄하는 방법은 무엇입니까?map()
메서드를 사용하여 고유한 숫자 제곱을 어떻게 표시할 수 있나요?filter()
메서드를 사용하여 빈 줄 수를 표시하는 방법은 무엇입니까?LocalDateTime
이란 무엇입니까?ZonedDateTime
은 무엇입니까?Nashorn
이란?jjs
란 무엇입니까?내용에
InputStream
클래스의 하위 클래스는 무엇이며 그 용도는 무엇입니까?PushbackInputStream
은 어떤 용도로 사용되나요?SequenceInputStream
무엇에 사용되나요?OutputStream
클래스의 어떤 하위 클래스를 알고 있으며 그 용도는 무엇입니까?Reader
클래스의 어떤 하위 클래스를 알고 있으며 그 하위 클래스는 무엇입니까?Writer
클래스의 어떤 하위 클래스를 알고 있으며 그 하위 클래스는 무엇입니까?PrintWriter
클래스와 PrintStream
의 차이점은 무엇입니까?InputStream
, OutputStream
, Reader
, Writer
공통점은 무엇입니까?File
클래스의 어떤 메소드를 알고 있나요?FileFilter
인터페이스에 대해 무엇을 알고 있습니까?RandomAccessFile
에 대해 무엇을 알고 있나요?RandomAccessFile
에는 어떤 파일 액세스 모드가 있습니까?내용에
Serializable
사용하여 직렬화/역직렬화 프로세스를 설명합니다.transient
키워드는 무엇을 의미하나요?static
및 final
필드 수정자는 직렬성에 어떤 영향을 미치나요?serialVersionUID
필드의 역할은 무엇입니까?serialVersionUID
필드의 값을 언제 변경해야 합니까?내용에
Thread
와 Runnable
의 차이점은 무엇입니까?start()
와 run()
메소드의 차이점은 무엇입니까?static synchronized
메서드가 실행되는 동안 클래스의 새 인스턴스를 만드는 것이 가능합니까?private
뮤텍스가 필요한 이유는 무엇입니까?wait()
및 notify()
/ notifyAll()
메소드는 어떻게 작동합니까?notify()
와 notifyAll()
의 차이점은 무엇입니까?wait()
및 notify()
메서드가 동기화된 블록에서만 호출되는 이유는 무엇입니까?wait()
메소드와 매개변수가 없는 메소드의 차이점은 무엇입니까?Thread.sleep()
와 Thread.yield()
메소드의 차이점은 무엇입니까?Thread.join()
메서드는 어떻게 작동하나요?static synchronized
메서드를 호출할 때 어떤 개체에서 동기화가 발생합니까?volatile
, synchronized
, transient
, native
키워드는 무엇에 사용됩니까?volatile
와 원자 변수의 차이점은 무엇입니까?java.util.concurrent.Atomic*.compareAndSwap()
과 java.util.concurrent.Atomic*.weakCompareAndSwap()
의 차이점은 무엇입니까?Runnable
과 Callable
두 인터페이스의 차이점은 무엇입니까?FutureTask
란 무엇입니까?CyclicBarrier
와 CountDownLatch
의 차이점은 무엇입니까?Thread.stop()
메서드를 사용하지 않는 것이 왜 권장되지 않습니까?interrupted()
와 isInterrupted()
의 차이점은 무엇입니까?submit()
와 execute()
메소드의 차이점은 무엇입니까?synchronized
와 ReentrantLock
의 차이점은 무엇입니까?ReadWriteLock
이란 무엇입니까?Semaphore
란 무엇입니까?push()
및 pop()
).Semaphore
사용하여 최소 비차단 스택( push()
및 pop()
두 가지 메서드)을 작성합니다.add()
, get()
, remove()
, size()
).[1, 2, 4, 8, 16, ...]
를 반환하는 비차단 BigInteger next()
메서드를 사용하여 스레드로부터 안전한 클래스 구현을 작성합니다.synchronized
사용하여 간단한 다중 스레드 경계 버퍼를 작성합니다.ReentrantLock
사용하여 간단한 다중 스레드 경계 버퍼를 작성합니다.내용에
내용에
service()
메서드를 재정의해야 하는 경우는 언제인가요?init()
메서드만 재정의해야 하는 이유는 무엇입니까?ServletConfig
란 무엇입니까?ServletContext
란 무엇입니까?ServletContext
와 ServletConfig
의 차이점은 무엇입니까?ServletResponse
인터페이스의 용도는 무엇입니까?ServletRequest
인터페이스의 용도는 무엇입니까?Request Dispatcher
무엇입니까?sendRedirect()
와 forward()
의 차이점은 무엇입니까?GenericServlet
과 HttpServlet
의 차이점은 무엇입니까?HttpServlet
클래스가 abstract로 선언된 이유는 무엇입니까?HttpServlet
클래스에 존재하는 주요 메소드는 무엇입니까?GET
방식과 POST
방식의 차이점은 무엇인가요?PrintWriter
와 ServletOutputStream
의 차이점은 무엇입니까?PrintWriter
와 ServletOutputStream
동시에 사용할 수 있습니까?SingleThreadModel
인터페이스에 대해 알려주십시오.encodeURL()
과 encodeRedirectURL()
메소드의 차이점은 무엇입니까?PageContext
에 대해 무엇을 알고 있으며 이를 사용하면 어떤 이점이 있습니까?<c:set>
과 <jsp:useBean>
의 차이점은 무엇입니까?<c:import>
와 <jsp:include>
그리고 <%@include %>
지시문의 차이점은 무엇입니까?web.xml
에서 표준 JSP 태그를 구성할 필요가 없는 이유는 무엇입니까?JSPWriter
와 서블릿 PrintWriter
의 차이점은 무엇입니까?내용에
내용에
NULL
무엇을 의미합니까?SELECT
문의 일반적인 구문은 무엇입니까?JOIN
무엇입니까?JOIN
있습니까?JOIN
또는 하위 쿼리를 사용하는 것이 더 낫습니까?HAVING
는 무엇을 사용 하는가?HAVING
과 WHERE
의 차이점은 무엇입니까?ORDER BY
무엇입니까?GROUP BY
무엇입니까?NULL
값을 처리 GROUP BY
어떻게합니까?GROUP BY
과 DISTINCT
진술의 차이점은 무엇입니까?COUNT(*)
와 COUNT({column})
의 차이점은 무엇입니까?EXISTS
진술은 무엇을합니까?LIKE
BETWEEN
IN
무엇입니까?UNION
키워드는 무엇을 사용합니까?PRIMARY
과 UNIQUE
제약의 차이점은 무엇입니까?FOREIGN KEY
제약 조건을받는 열이 NULL
일 수 있습니까?MERGE
명세서는 무엇을합니까?DELETE
와 TRUNCATE
진술의 차이점은 무엇입니까?DATETIME
과 TIMESTAMP
데이터 유형의 차이점을 설명하십시오.PIVOT
및 UNPIVOT
연산자의 목적은 무엇입니까?EXCEPT
INTERSECT
은 무엇입니까?내용에
내용에
@Ignore
주석은 무엇입니까?내용에
내용에
내용에
내용에
내용에
DOCTYPE
란 무엇이며 왜 필요한가요?<head>
태그의 목적은 무엇입니까?<div>
와 <span>
의 차이점은 무엇입니까?<em>
태그의 목적은 무엇입니까?<ol>
, <ul>
, <li>
태그는 무엇입니까?<dl>
, <dt>
, <dd>
태그는 무엇입니까?<tr>
, <th>
, <td>
태그는 무엇입니까?<img>
태그에 alt
속성을 작성해야합니까?내용에
#my
와 .my
의 차이점은 무엇입니까?margin
과 padding
의 차이점은 무엇입니까?margin
속성의 값 0
과 auto
의 차이점은 무엇입니까?clear
속성은 무엇입니까?<p>
요소에서 텍스트를 대담하게 만드는 방법은 무엇입니까?red
있는 모든 요소에 대해 색상을 빨간색으로 설정하려면 어떻게해야합니까?내용에
내용에
구성 요소 아키텍처
카프카 API
카프카 소비자
기타 질문
다른 구성 요소 및 시스템과 비교
내용에
내용에