Вопросы и ответы к интервью Java разработчика
Свёрстанные вопросы и ответы by Victoria Demidova
Telegram Bot by cmmttd
final
?
main()
?
abstract
?
final
?
private
-переменной класса? Если, да, то каким образом?
static
?
throws
?
assert
?
finalize()
? Зачем он нужен?
finalize()
требует ощутимо много времени, или в процессе выполнения будет выброшено исключение?
final
, finally
и finalize()
?
ClassCastException
?
String
?
String
неизменяемый и финализированный класс?
char[]
предпочтительнее String
для хранения пароля?
HashMap
в Java?
intern()
в классе String
?.
switch
?
String
, StringBuffer
, StringBuilder
?
Object
? Какие в нем есть методы?
clone()
объявлен в классе Object
, а не в интерфейсе Cloneable
?
equals()
. Чем он отличается от операции ==
?
equals()
порождает отношение эквивалентности. Какими свойствами обладает такое отношение?
equals()
, какие условия должны удовлетворяться для переопределенного метода?
Object.equals()
.
hashCode()
и equals()
?
equals()
переопределен, есть ли какие-либо другие методы, которые следует переопределить?
equals()
не переопределяя hashCode()
? Какие могут возникнуть проблемы?
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
?
equals()
класса MyClass
вот так: 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
.
Map
— это не Collection
, в то время как List
и Set
являются 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
, если вызвать collection.remove()
?
ConcurrentModificationException
во время перебора коллекции?
ArrayList
от Vector
?
ArrayList
, если уже был Vector
?
ArrayList
от LinkedList
? В каких случаях лучше использовать первый, а в каких второй?
ArrayList
или LinkedList
?
contains()
для элемента, который есть в LinkedList
?
contains()
для элемента, который есть в ArrayList
?
add()
для LinkedList
?
add()
для ArrayList
?
ArrayList
? Как меняется в этом случае размер ArrayList
?
ArrayList
.
ArrayList.add()
?
LinkedList.add()
?
byte
в LinkedList
?
byte
в ArrayList
?
ArrayList
или для LinkedList
операция добавления элемента в середину (list.add(list.size()/2, newElement)
) медленнее?
ArrayList
есть следующие поля: Object[] elementData
, int size
. Объясните, зачем хранить отдельно size
, если всегда можно взять elementData.length
?
Queue
и Deque
.
Queue
расширяет Deque
, или Deque
расширяет Queue
?
LinkedList
реализует и List
, и Deque
?
LinkedList
— это односвязный, двусвязный или четырехсвязный список?
LinkedList
в обратном порядке, не используя медленный get(index)
?
PriorityQueue
?
Stack
считается «устаревшим». Чем его рекомендуют заменять? Почему?
HashMap
, если есть Hashtable
?
HashMap
и IdentityHashMap
? Для чего нужна IdentityHashMap
?
HashMap
и WeakHashMap
? Для чего используется WeakHashMap
?
WeakHashMap
используются WeakReferences. А почему бы не создать SoftHashMap
на SoftReferences?
WeakHashMap
используются WeakReferences. А почему бы не создать PhantomHashMap
на PhantomReferences?
LinkedHashMap
- что в нем от LinkedList
, а что от HashMap
?
SortedMap
, кроме того, что toString()
выводит все элементы по порядку?
HashMap
?
HashMap
? Почему, по вашему мнению, была выбрана именно эта реализация? В чем плюсы и минусы каждого подхода?
HashMap
при попытке сохранить в него два элемента по ключам с одинаковым hashCode()
, но для которых equals() == false
?
HashMap
?
HashMap
? Гарантирует ли HashMap
указанную сложность выборки элемента?
HashMap
выродится в список даже с ключами имеющими разные hashCode()
?
HashMap
?
byte[]
в качестве ключа в HashMap
?
equals()
и hashCode()
в HashMap
?
hashCode()
?
HashMap
?
HashMap
?
HashMap.get(key)
по ключу, который есть в таблице?
HashMap
?
HashMap
?
HashMap(int initialCapacity, float loadFactor)
.
HashMap
, если все добавляемые ключи будут иметь одинаковый hashCode()
?
Map
?
Map
?
Map
?
TreeSet
и HashSet
?
TreeSet
по возрастанию?
LinkedHashSet
отличается от HashSet
?
Enum
есть специальный класс java.util.EnumSet
. Зачем? Чем авторов не устраивал HashSet
или TreeSet
?
ConcurrentModificationException
.
UnsupportedOperationException
.
Collection
(addAll(...)
, removeAll(...)
, retainAll(...)
).
collection
в массив?
List
получить List
со всеми элементами, кроме первых и последних 3-х?
HashSet
в ArrayList
?
ArrayList
в HashSet
?
HashSet
из ключей HashMap
.
HashMap
из HashSet<Map.Entry<K, V>>
.
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()
?
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
и Atomic переменными?
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()
).
push()
и pop()
) с использованием Semaphore
.
add()
, get()
, remove()
, size()
).
BigInteger next()
, который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
.
synchronized
.
ReentrantLock
.
service()
?
init()
метод без аргументов?
ServletConfig
?
ServletContext
?
ServletContext
и ServletConfig
?
ServletResponse
?
ServletRequest
?
Request Dispatcher
?
sendRedirect()
от forward()
?
GenericServlet
и HttpServlet
?
HttpServlet
класс объявлен как абстрактный?
HttpServlet
?
GET
и POST
?
PrintWriter
и ServletOutputStream
?
PrintWriter
и ServletOutputStream
?
SingleThreadModel
.
encodeURL()
и encodeRedirectURL()
?
PageContext
и какие преимущества его использования?
<c:set>
и <jsp:useBean>
?
<c:import>
от <jsp:include>
и директивы <%@include %>
?
web.xml
?
JSPWriter
и сервлетным PrintWriter
?
NULL
в SQL?
SELECT
?
JOIN
?
JOIN
?
JOIN
или подзапросы?
HAVING
?
HAVING
и WHERE
?
ORDER BY
?
GROUP BY
?
GROUP BY
обрабатывает значение NULL
?
GROUP BY
и DISTINCT
?
COUNT(*)
и COUNT({column})
?
EXISTS
?
IN
, BETWEEN
, LIKE
?
UNION
?
PRIMARY
и UNIQUE
?
FOREIGN KEY
, равняться NULL
?
MERGE
?
DELETE
и TRUNCATE
?
DATETIME
и TIMESTAMP
.
PIVOT
и UNPIVOT
в Transact-SQL?
INTERSECT
, EXCEPT
в Transact-SQL?
@Ignore
?
DOCTYPE
и зачем он нужен?
<head>
?
<div>
от <span>
?
<em>
?
<ol>
, <ul>
, <li>
?
<dl>
, <dt>
, <dd>
?
<tr>
, <th>
, <td>
?
alt
в теге <img>
?
#my
и .my
?
margin
и padding
?
0
и auto
в свойстве margin
?
clear
?
<p>
?
red
?