Подскажите, разве не дотосточно для объяснения преимущества StringBuilder перед String того факта, что при последовательной конкатенации нескольких стрингов (скажем, через цикл) на каждом шаге возникает объект, включающий в себя все предыдущие, что только зря раздувает требуемую память? В то время как мутабельный StringBuilder выделил память при создании один раз и потом наращивает ее ровно на столько, на сколько нужно Кстати, не нашел в коде метода concat указание на использвание StringBuilder. У меня JDK 19, там concat реализован через prepend. Может не туда смотрю?
Привет! Если мы говорим про позицию Junior, то такой ответ более чем крут. Идея же в том, что мы не создает intermediate-строки в процессе добавление новой части в конце или в начало, также мы не добавляем в память каждый результат конкатенации. А почему метод concat должен указывать на StringBuilder? Это метод делает то, что для него нужно и данном случае StringBuilder уже оптимизация при частом "склеивании".
Виталий, привет! Спасибо большое за проявленный интерес. Отвечая на вопрос... Наша команда уже готовит собеседование с разработчиком уровня Senior, но оно не столько техническое, сколько описывающие его путь и успех. Конечно, там будут задаваться и технические вопросы, которые в полной мере будут описывать необходимый уровень знаний.
Почему при конкатенации идет речь о том, что стринг помещается в стринг пул? При конкатенации у нас будет создан новый стринг в хипе и никакого отношения он к стринг пулу не будет иметь. Туда изначально только строковые литералы складываются. Ну или можно вызвать intern, чего делать (вроде как) не рекомендуют.
Все просто) Мы проводим отбор на бесплатное онлайн-интервью, чтобы его пройти необходимо решить тестовое задание. На данный момент набор закрыт, но уже скоро мы откроем старт нового. Подробнее можно узнать на нашем сайте interview.jetbulb.com/
собес на джуна по дефолту длится дольше, от 45 минут. Все зависит от опытности интервьюера. Обычно в первые 10 минут уже понятно что из себя представляет человек.
Чтобы понять, зубрил ли человек вопросы к собесу или нет. Так-же смотрят на стрессоустойчивость, коммуникабельность и прочую психологическую херь... Чтобы понять мышление человека и многое другое. Тебя могут конечно за 10 минут спросить по базовым вопросам, но не поймут, компетентен ли ты..@@jkelly_
Может я открою для кого-то истину, но этот собес уровня мидл-сеньер, но никак не джуна. Ребята хотят взять человека на зарплату джуна, а задач навалить как на сеньора. Но только сейчас так не прокатит, рынок решает по другому.
Привет :) Очень не хочется оставлять твой коммент без ответа. Но не ради холивар, а ради конструктивной беседы. На самом деле мидлам-синьорам задают вопросы куда более сложнее, чем они были тут. Но все-таки если считаешь, что это очень много, то лично я видел очень много "Real Senior Developer", которые даже не понимают почему в для свойств объекта null как С\С++ ставить необязательно или пишут отлов исключений: } catch (... e) { e.printStacktrace(); throw new Exception(); } И такие везде... Мир уже переполнен этим "Ama Real Senior Developer Man. Spring Boot, Java, Семечки и Бигуди". Касательно стека, да много, сегодня это реалии. За последние 10 лет порог вхождения в Java очень сильно вырос и это диктует как раз рынок, а не компании. Теперь надо слишком много знать, чтобы считаться Junior. И я бы не стал тут мешать компании которые создают и\или поддерживаю реальные enterprise-проекты на Java годами с огромным стеком технологий, и обычные СНГ-style шараги, где ты Admin, QA, BA\BE, Developer, DevOps Team и просто отвечаешь за каждую дрянь что тебя не касается как-либо, а при этом платят хреново и повышают ЗП со скоростью "никогда", и еще "kindly" просят выйти на выходных или остаться после работы, а если не отзовешься, то сгоришь в аду "киберфазатрона". Реалии таковы, что знать надо архимного, но это вовсе не значит, что будут на собеседовании требовать абсолютно все и если провалишься с Junit, то не возьмут.
Типичный пример, когда неумный человек, прикрываясь сложными концепциями, запутывает интервьюируемого. Прерывания никоим образом не нарушают концепции ООП. Это совершенно разные вещи и то что якобы некий метод выдает пребывание раскрывая тем самым некую внутреннюю структуру объекта, это полная чушь. НЕЛЬЗЯ сравнивать принципы ООП и детали РЕАЛИЗАЦИИ. Я знаю целые языки, типа Скала, которые просто нарушают ВСЕ принципы ООП с использованием операторов языка Джава. Первый признак того что перед вами "теоретик", это когда упоминается Фаулер, Боб и иже сними. Если видите перед собой такого “интервьюера”, правильный ответ только один “в сад”. Один совет на интервью: если перед вами сидит такое чудо, не тушуйтесь, выразите сомнения в его правоте, скажите что за свою практику не сталкивались с такими утверждениями и первый раз от него ЭТО слышите. До этого никто из ваших коллег, менторов и старших товарищей не говорил или упоминал об этом. Попросите скинуть пруф ссылку на его утверждение. Вы очень быстро увидите как меняется поведение таких горе интервьюеров.
Михаил молодец! Так держать.
Подскажите, разве не дотосточно для объяснения преимущества StringBuilder перед String того факта, что при последовательной конкатенации нескольких стрингов (скажем, через цикл) на каждом шаге возникает объект, включающий в себя все предыдущие, что только зря раздувает требуемую память? В то время как мутабельный StringBuilder выделил память при создании один раз и потом наращивает ее ровно на столько, на сколько нужно
Кстати, не нашел в коде метода concat указание на использвание StringBuilder. У меня JDK 19, там concat реализован через prepend. Может не туда смотрю?
Привет!
Если мы говорим про позицию Junior, то такой ответ более чем крут.
Идея же в том, что мы не создает intermediate-строки в процессе добавление новой части в конце или в начало, также мы не добавляем в память каждый результат конкатенации.
А почему метод concat должен указывать на StringBuilder?
Это метод делает то, что для него нужно и данном случае StringBuilder уже оптимизация при частом "склеивании".
@@Jetbulb понял, спасибо!
Сделайте пожалуйста интервью на мидла, было бы интересно
Виталий, привет!
Спасибо большое за проявленный интерес.
Отвечая на вопрос... Наша команда уже готовит собеседование с разработчиком уровня Senior, но оно не столько техническое, сколько описывающие его путь и успех.
Конечно, там будут задаваться и технические вопросы, которые в полной мере будут описывать необходимый уровень знаний.
Дякую за відео)
Хрюкнi)
Привет, а собеседование на мидла будет?
Привет!
Постараемся сделать в ближайшее время)
UPD: Совсем скоро у нас появится видео с откровениями Senior Java Developer про его опыт и историю успеха.
Почему при конкатенации идет речь о том, что стринг помещается в стринг пул? При конкатенации у нас будет создан новый стринг в хипе и никакого отношения он к стринг пулу не будет иметь. Туда изначально только строковые литералы складываются. Ну или можно вызвать intern, чего делать (вроде как) не рекомендуют.
Как к вам попасть???
Все просто) Мы проводим отбор на бесплатное онлайн-интервью, чтобы его пройти необходимо решить тестовое задание. На данный момент набор закрыт, но уже скоро мы откроем старт нового. Подробнее можно узнать на нашем сайте interview.jetbulb.com/
И все таки интересно, кем устроился Михаил Junior\Midle?
Хороший вопрос.
Начала конечно с Junior Developer позиции.
- А я не понял, что вы делаете в моем холодильнике? Вы что, хотите кончиц?
Где вы таких красивых программистов находите!?) 😁
А там уже захайрили))
@@Jetbulb а это как?)
Сильные (зазубренные?) теоретические знания, слабая практика..
Норм вопросы, довольно долгий собес для джуна, но круто)
собес на джуна по дефолту длится дольше, от 45 минут. Все зависит от опытности интервьюера. Обычно в первые 10 минут уже понятно что из себя представляет человек.
@@Ирландец7142 тогда нахер собеседовать от 45 минут ?))))
Чтобы понять, зубрил ли человек вопросы к собесу или нет. Так-же смотрят на стрессоустойчивость, коммуникабельность и прочую психологическую херь... Чтобы понять мышление человека и многое другое. Тебя могут конечно за 10 минут спросить по базовым вопросам, но не поймут, компетентен ли ты..@@jkelly_
Довольно слабые практические навыки(мое мнение)
Может я открою для кого-то истину, но этот собес уровня мидл-сеньер, но никак не джуна. Ребята хотят взять человека на зарплату джуна, а задач навалить как на сеньора. Но только сейчас так не прокатит, рынок решает по другому.
это основы. У мидла это на подкорке.
Привет :)
Очень не хочется оставлять твой коммент без ответа.
Но не ради холивар, а ради конструктивной беседы.
На самом деле мидлам-синьорам задают вопросы куда более сложнее, чем они были тут. Но все-таки если считаешь, что это очень много, то лично я видел очень много "Real Senior Developer", которые даже не понимают почему в для свойств объекта null как С\С++ ставить необязательно или пишут отлов исключений:
} catch (... e) {
e.printStacktrace();
throw new Exception();
}
И такие везде...
Мир уже переполнен этим "Ama Real Senior Developer Man. Spring Boot, Java, Семечки и Бигуди".
Касательно стека, да много, сегодня это реалии.
За последние 10 лет порог вхождения в Java очень сильно вырос и это диктует как раз рынок, а не компании. Теперь надо слишком много знать, чтобы считаться Junior.
И я бы не стал тут мешать компании которые создают и\или поддерживаю реальные enterprise-проекты на Java годами с огромным стеком технологий, и обычные СНГ-style шараги, где ты Admin, QA, BA\BE, Developer, DevOps Team и просто отвечаешь за каждую дрянь что тебя не касается как-либо, а при этом платят хреново и повышают ЗП со скоростью "никогда", и еще "kindly" просят выйти на выходных или остаться после работы, а если не отзовешься, то сгоришь в аду "киберфазатрона".
Реалии таковы, что знать надо архимного, но это вовсе не значит, что будут на собеседовании требовать абсолютно все и если провалишься с Junit, то не возьмут.
@@Jetbulb Ну так а ты спроси Михаила на какую должность он устроился в итоге. Судя по твоему длинному коменту ты сильно удивишься)
Типичный пример, когда неумный человек, прикрываясь сложными концепциями, запутывает интервьюируемого. Прерывания никоим образом не нарушают концепции ООП. Это совершенно разные вещи и то что якобы некий метод выдает пребывание раскрывая тем самым некую внутреннюю структуру объекта, это полная чушь. НЕЛЬЗЯ сравнивать принципы ООП и детали РЕАЛИЗАЦИИ. Я знаю целые языки, типа Скала, которые просто нарушают ВСЕ принципы ООП с использованием операторов языка Джава. Первый признак того что перед вами "теоретик", это когда упоминается Фаулер, Боб и иже сними. Если видите перед собой такого “интервьюера”, правильный ответ только один “в сад”. Один совет на интервью: если перед вами сидит такое чудо, не тушуйтесь, выразите сомнения в его правоте, скажите что за свою практику не сталкивались с такими утверждениями и первый раз от него ЭТО слышите. До этого никто из ваших коллег, менторов и старших товарищей не говорил или упоминал об этом. Попросите скинуть пруф ссылку на его утверждение. Вы очень быстро увидите как меняется поведение таких горе интервьюеров.
Единственное интервью которое выбесило! Перебивает, хочет везде поумничать где не знает и еще раз перебивает((
душный тип конечно
Это Бьерн железнобокий , он тебя на пику насадит