Giter Club home page Giter Club logo

java-interview's People

Contributors

alebabai avatar andrii-ashomok avatar catdog905 avatar cmmttd avatar comavp avatar cupcake-master avatar dependabot[bot] avatar eliseevdry avatar enhorse avatar esylva avatar flickerfreek avatar frechman avatar ivan100kg avatar khartnjava avatar kvardekkvar avatar lehasvv2009 avatar meretskiy avatar msumeet avatar nickrograch avatar nmice avatar nsamartsev avatar olegpoltora avatar romiv avatar sanyaivanov avatar soorya2 avatar szelemeh avatar victoriademidova avatar vinipooh avatar ykiselev avatar yura182 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

java-interview's Issues

Ошибка в вопросе "в чём разница между «конкуренцией» и «параллелизмом»?"

Добрый день! У вас тут ошибка: "если поток управления один, то конкурентного выполнения быть не может" https://en.wikipedia.org/wiki/Concurrency_(computer_science) и выдержка из этой статьи: "Concurrency is about structure, parallelism is about execution, concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.[3]." Из этого следует, что конкурентное выполнение может быть на одном процессоре. И вот еще на русском статья https://www.zhashkevych.com/concurrency-and-parallelism.

Метод интерфейса имеет public abstract

Неточность по кастам

Например, к запрещенным преобразованиям относятся приведения от любого ссылочного типа к примитивному и наоборот (кроме преобразования к строке)

Можно ещё привести боксовую ссылку к примитивному типу.

Ошибка в описании дефолтной реализации Object#hashCode

https://github.com/enhorse/java-interview/blob/master/core.md#%D0%BA%D0%B0%D0%BA%D0%B8%D0%BC-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%BC-%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-hashcode-%D0%B8-equals-%D0%B2-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5-object

На самом деле, кажется, адрес памяти уже давно не используется.
При сборке мусора объект может перемещаться из одной области памяти в другую (зависит от реализации сборщика), и тогда адрес памяти объекта меняется, и если хеш-код будет от него зависеть, то и хеш-код поменяется, а так быть не должно.

https://stackoverflow.com/questions/49172698/default-hashcode-implementation-for-java-objects (accepted answer)
https://bugs.openjdk.org/browse/JDK-8199394

Roadmap

Почитать для собеза

Lexical mistakes

Есть пару лексических ошибок:
image
и
image

Я исправил у себя локально это. Могу ли я запушить эти изменения?

Not exact explanation

Привет,

вот здесь
https://github.com/enhorse/java-interview/blob/master/java8.md#%D0%B2-%D1%87%D0%B5%D0%BC-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-collection-%D0%B8-stream

Принципиальная разница между ними состоит не в том, можно ли по одному обрабатывать элементы. Здесь важнее концепт сущностей: Collection - это прежде всего воплощение Структур Данных. Тот же Set не просто в себе хранит элементы, он реализует идею множества с уникальными элементами.
Тогда как Stream, это прежде всего абстракция необходимая для реализации "конвеера вычислений", собственно поэтому, результатом работы конвеера являются те или иные Структуры Данных или же результаты проверок/поиска и т.п.

HashSet use only key

Неверно - "В качестве ключа и значения используется добавляемый элемент.". HashSet использует добавляемый элемент только в качестве ключа, а значение - объект Object.

private static final Object PRESENT = new Object();
public boolean add(E e) {
    return map.put(e, PRESENT)==null;
}

https://github.com/enhorse/java-interview/blob/master/jcf.md#%D0%BD%D0%B0%D0%B7%D0%BE%D0%B2%D0%B8%D1%82%D0%B5-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B-jcf-%D0%B8-%D0%B8%D1%85-%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8

Худшее время добавление в LinkedList скорее (N/2)

Худшее время добавление в LinkedList скорее (N/2) так как для вставки по индексу как и для удаления, может быть выбран как хвост, так и голова списка, тогда получится что максимум надо перейти по половине списка.

https://github.com/enhorse/java-interview/blob/master/jcf.md#%D0%BA%D0%B0%D0%BA%D0%BE%D0%B5-%D1%85%D1%83%D0%B4%D1%88%D0%B5%D0%B5-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0-add-%D0%B4%D0%BB%D1%8F-linkedlist

Возможная ошибка в ответе Чем отличается Statement от PreparedStatement?

https://github.com/enhorse/java-interview/blob/master/jdbc.md#%D1%87%D0%B5%D0%BC-%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F-statement-%D0%BE%D1%82-preparedstatement

Суммируя: PreparedStatement выгодно отличается от Statement тем, что при повторном использовании с одним или несколькими наборами параметров позволяет получить преимущества заранее прекомпилированного и кэшированного запроса, помогая при этом избежать SQL Injection.

https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html
При прекомпилорованный запрос документация есть, но непонятно откуда взята информация о кешировании
Если, это о кешировании плана запроса, то из текста воспринимается не так, а как кеширование ответа БД

Local classes - incorrect info

what

https://github.com/enhorse/java-interview/blob/master/core.md#%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BB%D0%B0%D1%81%D1%81-%D0%BA%D0%B0%D0%BA%D0%BE%D0%B2%D1%8B-%D0%B5%D0%B3%D0%BE-%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8

Не могут иметь внутри себя статических объявлений (полей, методов, классов);

why

Поля всё-таки могут иметь статические

image

Правила переопределение метода Object.equals()

Ссылка: https://github.com/enhorse/java-interview/blob/master/core.md#%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0-objectequals

Не стоит делать проверку с помощью instanceof, так как такая проверка будет возвращать true для подклассов и будет работать правильно только в случае, если класс объявлен как immutable. Вместо этого желательно использовать только getClass()

Сравните Iterator и ListIterator

"При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала."

Iterator же имеет remove()?

Maven

Че-нибудь по мавену бы

Incorrect information

https://github.com/enhorse/java-interview/blob/master/jcf.md#%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D1%82%D0%B5-iterator-%D0%B8-listiterator

При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.

на самом деле
https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html#remove--

Spring

Че-нибудь по спрингу бы

Empty questions

Not correct explanation

Привет,

вот тут есть момент https://github.com/enhorse/java-interview/blob/master/java8.md#%D0%BE%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-systemoutprintln

Здесь сказано "... передачу ссылки на статический метод println() класса System.out", но это не корректно, т.к. println - не статический метод, а System.out - не класс. В данном случае показан instance method reference на примере статического поля out в классе System.

Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?

Необходимо поменять вопрос или ответ на него, либо добавить пояснение. Если спрашиваем про порядок вызова, то сначала вызывается конструктор самого младшего и далее выше по иерархии, но выполняются они в том порядке, какой написан в ответе. В дебагере порядок вызова виден.

public class A extends B {
    public A() {
        super("From A");
        System.out.println(", но выполняются от самого старшего к самому младшему");
    }
}
public class B extends C {
    public B(String param) {
        super("From B");
        System.out.print(" самого младшего к самому старшему");
    }
}
public class C {
    public C(String param) {
        System.out.print("На самом деле вызываются от");
    }
}

Screenshot 2021-04-19 at 20 57 21

Jvm Architecture

Please provide access to create branches and PR for adding information about JVM Architecture topic.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.