А вот если по предпоследней задаче не просто protocol P { } обьявить а написать protocol Р { func method() } то тогда два раза вызовится from class. Я как-то помню на похожей задаче облажался из-за этого момента
Прекрасно. 28:49 Цвет кстати тоже можно анимировать matched если использовать цвета в RGB формате и в стейтах использовать R,G,B по отдельности. Это для задров) коим я являюсь
Первая задача прикольная. Собеседующий: верните Отсортированный массив уникальных элементов, но только сет не используйте. В итоге вернули массив уникальных элементов с большой О(н), т.е. ни условие не выполнили, ни оптимизировали. Собеседующий: да, правильно). Нормальное решение это одна строка Set(nums).sorted()
@@dmitry3881 зсложно вашу функцию понять, что она делает func filterArray(_ input:[Int]) -> [Int]{ var uniqueNumber:[Int] = [] for num in input{ if uniqueNumber.contains(num){ uniqueNumber.append(num) } } return uniqueNumber } print(filterArray([1,2,1,3,4,5])) @dmitry3881 зачем усложнять систему? через словарь выводить массив?
SwiftUI работает медленнее чем UIKit According to a study by KTH Royal Institute of Technology, UIKit outperforms SwiftUI by about 25% when the component count is below 32. UIKit also consumes less memory. However, some say that SwiftUI's modern and optimized layout engine gives it the edge over UIKit.
Спасибо за видео. Вопросы очень легкие. я проходил только один собес и первый же вопрос был про архитектуры, про viper. Где такое собеседование легкое?
@Vakula_48 Это "Copy-On-Write" (копирование при записи). Copy-On-Write - это стратегия оптимизации в управлении памятью, которая применяется, например, при работе с многопоточностью или виртуальной памятью. Суть Copy-On-Write заключается в следующем: Когда создается копия каких-либо данных (например, массива, строки или другой структуры), фактическое копирование данных не выполняется сразу. Вместо этого используется ссылка на исходные данные. Копирование выполняется только в том случае, если какая-либо из сторон (например, потоков или процессов) начинает изменять данные. Тогда создается новая копия данных, и изменения производятся в этой копии, не затрагивая исходные данные. Эта стратегия позволяет избежать ненужных дорогостоящих операций копирования данных до тех пор, пока это необходимо. Таким образом, она может улучшить производительность и сэкономить память, особенно в ситуациях, где создание копии данных происходит часто, но фактические изменения редки. Copy-On-Write используется в различных областях программирования, включая управление памятью в операционных системах, работу с многопоточностью, копирование строк и других сложных структур данных в языках программирования.
Почему все ИТ компании так безалаберно относятся к процессу собеседования? Неужели нельзя людей, которые в компании проводят собеседования, укомплектовать качественной аппаратурой, чтобы звук не был будто из ведра? Ну или сами люди - им вот нравится факт того, что их в таком плохом качестве слышат их собеседники? Меня это дико бесило и я сам себе купил микрофон и настроил пару VST плагинов, чтобы еще там шумы порезать и эквалайзером голос выровнить. Это занимает пару часов. Неужели так сложно?
Как по мне, так собеседуемый слишком сильно старался показать себя, местами перебивал разработчика, чтобы еще что-то рассказать. Цель интервью - не показать себя, а дать человеку, который тебя собеседует, понять, что ты соответствуешь всем его ожиданиям. Экономьте время друг друга =) всем добра!
Показать себя это американский подход. И на мой взгляд это нормальная тема. Человек отвечал на вопросы и показывал себя как бонус. Не плохо. Это скорее сыграет в + а не минус в нормальных конторах.
Пишите мне в телеграмм (t.me/johnkostanov) или заполняйте форму (forms.gle/d8ok9vY4u3sbo6TE9) для записи на курс по подготовке к собеседованиям. Старт ближайшего запуска курса запланирован на неделе от 11.12.2023г. Продолжительность курса 2 недели.
Топчик, как раз прохожу собесы, скажу так сложнее в разы стали чем даже год назад. Много вопросов на которые с ходу не ответишь. Видео прямо в тему 🚀
Друзья, желаю всем таких же легких собесов 💪🏻
Красавчик Джон! ✊🏻😉
Спасибо за видео! Хотелось бы еще такой формат!
Супер ролик, актуальная тема! Продолжай снимать такие ролики
Спасибо за видео!
огонь) спс
Супер, в пятой задаче, я не знал, что захватывается значение. Оно и разумно, но раньше не сталкивался, очень полезно.
👍
А вот если по предпоследней задаче не просто protocol P { } обьявить а написать protocol Р { func method() } то тогда два раза вызовится from class. Я как-то помню на похожей задаче облажался из-за этого момента
зачет !!!
Начало собеседования в 4:30
Прекрасно. 28:49 Цвет кстати тоже можно анимировать matched если использовать цвета в RGB формате и в стейтах использовать R,G,B по отдельности. Это для задров) коим я являюсь
Спасибо! Буду теперь знать. 😁
Первая задача прикольная. Собеседующий: верните Отсортированный массив уникальных элементов, но только сет не используйте. В итоге вернули массив уникальных элементов с большой О(н), т.е. ни условие не выполнили, ни оптимизировали. Собеседующий: да, правильно). Нормальное решение это одна строка Set(nums).sorted()
Но если без сета прям критикал, то второе решение var hash:[Int:Int] = [:]
for i in nums {
hash[i,default:0] = 0
}
return hash.keys.sorted()
👍
@@dmitry3881 зсложно вашу функцию понять, что она делает
func filterArray(_ input:[Int]) -> [Int]{
var uniqueNumber:[Int] = []
for num in input{
if uniqueNumber.contains(num){
uniqueNumber.append(num)
}
}
return uniqueNumber
}
print(filterArray([1,2,1,3,4,5]))
@dmitry3881 зачем усложнять систему? через словарь выводить массив?
SwiftUI работает медленнее чем UIKit
According to a study by KTH Royal Institute of Technology, UIKit outperforms SwiftUI by about 25% when the component count is below 32. UIKit also consumes less memory. However, some say that SwiftUI's modern and optimized layout engine gives it the edge over UIKit.
Зато на SwiftUI работать быстрее, чем на UIKit
вот спрашивают про стеки и кучи, а на деле действительно с ними работают разработчики? Обычно в свифте автоматизированы операции с памятью
Спасибо за комментарий. Действительно, многое что спрашивают на собесах может и не пригодиться в реальной работе. Но это желательно знать. 😅
Прохожу собеседования не ответил на вопрос о фрагментации памяти и о работе приложения в бэкграунде.
Да, эти вопросы частенько встречаются на собеседованиях.
На сегодняшний день с Xcode 15 и iOS 17 могу сказать что Canvas завезли и для UIKit 😁
Супер! 👍
Прикольная у вас ЗП. У меня в расчетном отделе потолок 200 к, куча математики и программирование, а тут вообще хз за чато платят
Компании же разные. И у всех разный потолок.
@@johnkostanov ясно
27:20 подскажите про какой модификатор спросил интерьюер? я не расслышал
matchedGeometryEffect
Спасибо за видео. Вопросы очень легкие. я проходил только один собес и первый же вопрос был про архитектуры, про viper. Где такое собеседование легкое?
Собесодования же все разные. Все зависит от стека технологий. Здесь про Viper не спрашивали, потому что проект был на SwiftUI.
@@johnkostanov Там пофиг какой стэк, возьми да расскажи про все архитектуры, которые знаешь. Ну это галера была.
@@AlexPeresedovну как работу нашёл?
Тоже интересно, нашел работу?
@@saaaaim нашел, и уволился. Снова ищу.
Очень простой собес.
Некоторые задачи просто тупо скопированы из интернета без модификации и усложнения.
не понял, что там за принцип "коу" был? про копирование структур и массива?
@Vakula_48 Это "Copy-On-Write" (копирование при записи). Copy-On-Write - это стратегия оптимизации в управлении памятью, которая применяется, например, при работе с многопоточностью или виртуальной памятью.
Суть Copy-On-Write заключается в следующем:
Когда создается копия каких-либо данных (например, массива, строки или другой структуры), фактическое копирование данных не выполняется сразу.
Вместо этого используется ссылка на исходные данные.
Копирование выполняется только в том случае, если какая-либо из сторон (например, потоков или процессов) начинает изменять данные. Тогда создается новая копия данных, и изменения производятся в этой копии, не затрагивая исходные данные.
Эта стратегия позволяет избежать ненужных дорогостоящих операций копирования данных до тех пор, пока это необходимо. Таким образом, она может улучшить производительность и сэкономить память, особенно в ситуациях, где создание копии данных происходит часто, но фактические изменения редки.
Copy-On-Write используется в различных областях программирования, включая управление памятью в операционных системах, работу с многопоточностью, копирование строк и других сложных структур данных в языках программирования.
Ссылочные данные не хранятся в куче, это больше не так
Можешь привести источник по этой информации?
@@johnkostanov EMOTIONAL DAMAGE
Почему все ИТ компании так безалаберно относятся к процессу собеседования? Неужели нельзя людей, которые в компании проводят собеседования, укомплектовать качественной аппаратурой, чтобы звук не был будто из ведра?
Ну или сами люди - им вот нравится факт того, что их в таком плохом качестве слышат их собеседники? Меня это дико бесило и я сам себе купил микрофон и настроил пару VST плагинов, чтобы еще там шумы порезать и эквалайзером голос выровнить. Это занимает пару часов. Неужели так сложно?
🤷♂️
@@captainrusya Может качество звука пострадало при записи экрана. В начале августа записывал еще одно собеседование, но там только меня хорошо слышно.
Первая задачка же не решена , интервьюер даже ниче не сказал просто следующая, точнее очен очень плохо решена
Повезло значит. Бывает и такое. 😁
Здравствуйте.
А какую зарплату за джуниор+ они предлaгают?
Привет! Вилка была от 80 до 130т.
@@johnkostanov а там еще джуны не нужны? чисто случайно)
@@TheHeartOfTheCore Джуны сейчас мало кому нужны. Нужны мидлы на позицию джуна.
Да и видно по ЗП - предлагать програмеру 1000 баксов - так себе идея. какой мидл пойдет? или в иос сейчас такой рынок?@@johnkostanov
@@WhiteZSY ЗП варьируются от 60т.р. до 450т.р. Все зависит от опыта разработчика.
Мегамозг)
как проверить на подлиность видео?
🧐
Как по мне, так собеседуемый слишком сильно старался показать себя, местами перебивал разработчика, чтобы еще что-то рассказать. Цель интервью - не показать себя, а дать человеку, который тебя собеседует, понять, что ты соответствуешь всем его ожиданиям. Экономьте время друг друга =) всем добра!
Если человек знал, что он выложит это нам, то все правильно делал. разжевывал по максимуму. Как по мне, так это здорово!
Показать себя это американский подход. И на мой взгляд это нормальная тема. Человек отвечал на вопросы и показывал себя как бонус. Не плохо. Это скорее сыграет в + а не минус в нормальных конторах.
Братик тебя плохо слышно =/
Что есть то есть. Микрофон хороший планирую приобрести. Тогда я думаю будет норм со звуком.
На какую позицию собес был?
На позицию младшего разработчика.
@@johnkostanov считай на Джуна верно? откуда у джина 1 год коммерческой разработки это уже считай мидл, если нормально работал, разве нет?
@@wingss666 Все верно. Но джуны и мидлы же разные бывают. Они же искали Junior +, то есть уже с опытом работы.
@@johnkostanov заметил эту тенденцию. Многие ищут мидла с зп джуна. Грустно
Какие-то очень простые вопросы нет?
Тогда получается ты проходишь собес для джуна
Надеюсь ты оказался честным человеком и каким-то образом компенсировал компании потраченное время двух сотрудников.
На найм новых сотрудников закладывается рабочее время. Так что не переживай ты за них так.
Компенсировал компании))) какой ты жалкий
Пишите мне в телеграмм (t.me/johnkostanov) или заполняйте форму (forms.gle/d8ok9vY4u3sbo6TE9) для записи на курс по подготовке к собеседованиям.
Старт ближайшего запуска курса запланирован на неделе от 11.12.2023г. Продолжительность курса 2 недели.
полезное
👍