junior
Почему LinkedList реализует и List, и Deque
LinkedList реализует оба интерфейса, потому что его внутренняя структура (двусвязный список) эффективно поддерживает операции обоих контрактов. Как List, он предоставляет доступ по индексу и упорядоченное хранение. Как Deque, он поддерживает добавление и удаление с обоих концов за O(1), т.к. хранит прямые ссылки на первый и последний узлы.
На практике это означает, что LinkedList можно использовать как список, как очередь и как стек. Однако для очереди и стека лучше использовать ArrayDeque — он быстрее благодаря cache locality массива.
На собеседовании: объясните, что двусвязный список естественно поддерживает обе абстракции. Упомяните, что для чистой очереди/стека предпочтительнее ArrayDeque.