Gh0st dev | Всякое про IT – Telegram
Gh0st dev | Всякое про IT
97 subscribers
53 photos
22 links
Тут полезные материалы, советы и мемы про айтишечку и всякое около нее
___
by @dsvtlg
Download Telegram
Channel name was changed to «Дмитрий Свиридов | dsvdev»
Channel name was changed to «dsvdev | Дмитрий Свиридов про IT»
Настало время оживить это место! Подробности про меня в закрепе, а сейчас расскажу про рубрики, которые будут на канале

#собесы - вопросы и ответы с собеседований
Первый пост из этой рубрики выйдет уже сегодня в 18:00, там поделюсь несколькими вопросами и ответами с собеседования на Senior Java-разработчика, а полная запись собеседования уже на Boosty

В программе Java Core, Spring, микросервисы и обсуждение практического опыта

Подпишись если интересно!
🔥21👏1
🔤🔤🔤🔤🔤🔤

💬 Первый пост из рубрики #собесы

Недавно прошел собес в зеленый банк на позицию Senior Java Developer
Поделюсь несколькими вопросами отуда

👩‍💻 Тема - Java Core

Какое значение будет выведено на экран?

public class Main {
public static void main(String[] args) {
MyClass myClass = new MyClass();
System.out.println(myClass.getValue());
}
}

class MyClass {
private static int value = 1;

static {
value = 2;
}

{
value = 3;
}

public MyClass() {
MyClass.value = 4;
}

public int getValue() {
return value;
}
}


Опрос ниже
🔽🔽🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻2🤔1
Что будет выведено в консоль?
Anonymous Quiz
10%
1
8%
2
5%
3
55%
4
23%
Посмотреть результаты
3👨‍💻2
👩‍💻 Тема - Многопоточность

Какой вариант лучше использовать при вызове синхронизированного кода если синхронизировать нужно методы first() и second()

Вариант 1:

synchronized void foo() {
first();
second();
third();
}


Вариант 2:

void foo() {
synchronized (this) {
first();
second();
}
third();
}


Опрос ниже
🔽🔽🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻2
👩‍💻 Тема - Базы данных

Какие уровни изоляции транзакций существуют в Spring?


@Transactional(isolation = ???)
public void log(String message){
// ...
}


Опрос ниже
🔽🔽🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
Завтра вечером выложу подробный разбор ответов на все три вопроса
Если интересно - подпишись!
🔥3
🆘Объяснение вчерашних вопросов

Первый вопрос очень часто встречается на собеседованиях любого уровня. Главное знать взаимный порядок выполнения блоков инициализации и конструктора
Первым выполняется статический блок инициализации, вторым - нестатический блок инициализации, а конструктор выполняется последним

class MyClass {
static {
//1
}

{
//2
}

public MyClass() {
//3
}
}


📌 Все становится немного сложнее, когда классы объединены иерархией наследования

Сначала выполняются все статические блоки инициализации начиная с родительских классов, и только после них, поочередно блоки инициализации и конструкторы также начиная с родительских классов

class MyClass {
static {
//1
}

{
//3
}

public MyClass() {
//4
}
}

class MySecondClass extends MyClass {
static {
//2
}

{
//5
}

public MySecondClass() {
//6
}
}


Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2