Написал статью, как построить экран с лэйаутом, похожим на первый экран Netflix, Amediateka или Prequel. Используя UICollectionViewCompositionalLayout это стало гораздо проще и эффективней. https://hackernoon.com/implementing-uicollectionview-compositional-layout-with-pinterest-section
PS на Hacketnoon.com не очень нравится читать с компа, залью еще куда-нибудь, возможно на русском
PS на Hacketnoon.com не очень нравится читать с компа, залью еще куда-нибудь, возможно на русском
Hackernoon
Implementing 'UICollectionView Compositional' Layout with Pinterest Section
You can use Collection Compositional Layout to define layouts that support dynamic content and varying item sizes.
Выбрал самые популярные задачи с live coding собеседований, попробовал объяснить как их решать и зачем это нужно.
https://habr.com/ru/post/718334/
https://habr.com/ru/post/718334/
Хабр
Live coding интервью для iOS разработчиков
Процесс технического собеседования для разработчиков может различаться в зависимости от компании и конкретной роли. Какие этапы все же стоит ожидать: Телефонный скрининг. Первым...
Media is too big
VIEW IN TELEGRAM
Взял подписку ChatGPT Plus, буду тестировать новую модель GPT-4. Из интересного, что успел попробовал, можно скормить ссылку на википедию и попросить ответить на вопрос по тексту или дописать его. Также на вход можно отправить до 25000 слов, например, сложный юридический документ чтобы вычленить главную мысль.
Обещают улучшенную работу с кодом. Задал вопрос о пет-проектах и получил ответ лучше чем от GPT-3.5)
В планах продолжить эксперементы. Записался в лист ожидания доступа к API. 😏 И, надеюсь, скоро опубликуют в публичный доступ возможность загружать картинки, графики и тд. Можно будет на бумаге набросать макет приложения и пропросить написать код для него на любом языке. 😱
Обещают улучшенную работу с кодом. Задал вопрос о пет-проектах и получил ответ лучше чем от GPT-3.5)
В планах продолжить эксперементы. Записался в лист ожидания доступа к API. 😏 И, надеюсь, скоро опубликуют в публичный доступ возможность загружать картинки, графики и тд. Можно будет на бумаге набросать макет приложения и пропросить написать код для него на любом языке. 😱
Прошел за несколько дней курс от Яндекса по алгоритмам и структурам данных. Он бесплатный, рассчитан на то, что самые базовые знания уже есть, но в целом подойдет и новичкам. Рекомендую, т.к алгоритмические секции часто встречаются на интервью, особенно в крупные компании и всегда в FAANG
https://practicum.yandex.ru/algorithms-interview/
https://practicum.yandex.ru/algorithms-interview/
Бесплатный курс «Подготовка к алгоритмическому собеседованию»: обучение онлайн — Яндекс Практикум
Пройдите бесплатный курс «Подготовка к алгоритмическому собеседованию» от сервиса Яндекс Практикум. Онлайн-обучение поможет узнать, как проходят собеседования по алгоритмам и как к ним подготовиться. Теория, тесты, практика для самостоятельного изучения на…
27 марта буду рассказывать о том, что успел узнать и изучить о новой моделе GPT-4. Поделюсь классными примерами использования. Присодиняйтесь послушать)
https://www.codementor.io/events/chatgpt-4-the-ai-thats-changing-the-game-ggokcrf8b8
https://www.codementor.io/events/chatgpt-4-the-ai-thats-changing-the-game-ggokcrf8b8
www.codementor.io
ChatGPT-4: The AI That's Changing the Game
As ChatGPT becomes more and more popular, implementing a AI chatbot seems to be the next industry trend. Vadim will be talking about how ChatGPT works and how to implement it in different scenarios.
Для тех, кто хочет побыстрее разобраться как устроен Combine. Наглядно можно потестить как работают различные операторы в формате игры.
https://apps.apple.com/ru/app/combine-operators/id1507756027?l=en
https://apps.apple.com/ru/app/combine-operators/id1507756027?l=en
Зачастую, отвечать на вопросы эйчаров или менеджеров о своем опыте, ошибках, достижениях и прочем, сложнее, чем на технические. Практически все разработчики, с кем я общался, уделяют внимание hard skills и пренебрегают, так называемым behavioral interview. Оно нацелено на проверку soft skills. На мой взгляд, это хороший способ проверки именно сеньерности кандидата, и легкий путь вычислить, если он решил накрутить опыт)
Я и сам несколько раз проходил этот этап плохо, особенно на английском языке. Сейчас захотел прокачать свои навыки в прохождении именно этой части и основательно подготовиться.
Собрал первую часть потенциальных вопросов, которые можно услышать на интервью, и попытался подумать, как бы я на них отвечал. Хочу поделиться этим с вами. https://gist.github.com/vadim-chistiakov/d1b1bd251d8727b745d72c321c2e0027
Постараюсь подготовить следующую часть вопросов в ближайшее время.
Несколько инсайтов по теме:
◦ Постарайтесь выделять именно свои достижения, успехи и качества, а не команды/компании
◦ Не отвечайте односложно на все вопросы, старайтесь раскрыть тему, показывайте что рефлексировали и сделали выводы.
◦ Используйте STAR методологию при ответе
◦ При ответе на неудобные вопросы о своих неудачах, недостатках и слабостях старайтесь показать незначительную часть и как вы преодолели, победили и сделали выводы.
◦ Добавляйте названия компаний, проектов, чтобы ответы не выглядели общими и придуманными
Вопросы, предложения, конструктивная обратная связь приветствуется в комментариях или в личку)
Я и сам несколько раз проходил этот этап плохо, особенно на английском языке. Сейчас захотел прокачать свои навыки в прохождении именно этой части и основательно подготовиться.
Собрал первую часть потенциальных вопросов, которые можно услышать на интервью, и попытался подумать, как бы я на них отвечал. Хочу поделиться этим с вами. https://gist.github.com/vadim-chistiakov/d1b1bd251d8727b745d72c321c2e0027
Постараюсь подготовить следующую часть вопросов в ближайшее время.
Несколько инсайтов по теме:
◦ Постарайтесь выделять именно свои достижения, успехи и качества, а не команды/компании
◦ Не отвечайте односложно на все вопросы, старайтесь раскрыть тему, показывайте что рефлексировали и сделали выводы.
◦ Используйте STAR методологию при ответе
◦ При ответе на неудобные вопросы о своих неудачах, недостатках и слабостях старайтесь показать незначительную часть и как вы преодолели, победили и сделали выводы.
◦ Добавляйте названия компаний, проектов, чтобы ответы не выглядели общими и придуманными
Вопросы, предложения, конструктивная обратная связь приветствуется в комментариях или в личку)
Gist
Behavioural questions for software engineer
Behavioural questions for software engineer. GitHub Gist: instantly share code, notes, and snippets.
Вторая часть вопросов для поведенческого интервью. Здесь собрал вопросы, которые чаще всего слышал сам на собеседованиях, как в российские компании, так и в зарубежные.
Некоторые из них могут пересекаться с первой частью.
Главное на таких интервью транслировать "флаги" собеседующему. Ваша задача разрекламировать себя со всех сторон, а интервьюеру узнать о вашем позитивном опыте как можно больше.
Я бы рекомендовал каждому, вне зависимости от уровня, составить список из 15-20 вопросов/ответов и готовиться по нему. Если предстоящее интервью кажется особенным, (допустим это компания мечты) можно подогнать ответы под описание вакансии и проекта этой компании.
https://gist.github.com/vadim-chistiakov/7daf45b8ff9819ff799861d54c3891cb
Некоторые из них могут пересекаться с первой частью.
Главное на таких интервью транслировать "флаги" собеседующему. Ваша задача разрекламировать себя со всех сторон, а интервьюеру узнать о вашем позитивном опыте как можно больше.
Я бы рекомендовал каждому, вне зависимости от уровня, составить список из 15-20 вопросов/ответов и готовиться по нему. Если предстоящее интервью кажется особенным, (допустим это компания мечты) можно подогнать ответы под описание вакансии и проекта этой компании.
https://gist.github.com/vadim-chistiakov/7daf45b8ff9819ff799861d54c3891cb
Gist
Behavioural interview. Frequently questions
Behavioural interview. Frequently questions. GitHub Gist: instantly share code, notes, and snippets.
Неплохая, на мой взгляд, статья о том, как устроена память. Хорошо разобрана часть о Side Table. По большому счету, прикладного значения я в этом не вижу, но задушнить на интервью вполне могут. Полезна чисто для кругозора и углубленного понимания некоторых аспектов памяти в Свифт
https://habr.com/ru/companies/hh/articles/546856/
https://habr.com/ru/companies/hh/articles/546856/
Хабр
Память в Swift от 0 до 1
В этой статье мы рассмотрим принципы работы памяти в Swift и разберемся, как Swift располагает байты в памяти, как управляет памятью, и что из себя представляет жизненный цикл объектов. Содержание Что...
Как составлять "рабочее" резюме?
Я знаю, что многие из вас готовятся к интервью и откликаются на вакансии и знают как часто приходят отказы еще на этапе отклика. Очень важно зацепить рекрутера именно своим резюме.
Хочу порекомендовать сайт https://www.overleaf.com/gallery/tagged/cv с готовыми шаблонами, он помог мне составить резюме.
Оно точно работает, я успел проверить его опытным путем) в РФ и на иностранном рынке труда, в том числе FAANG. Сейчас думаю поменять некоторые пункты, и постараться показать свои достижения и результаты выразительней.
Несколько рекомендаций, которые отмечают по составлению резюме:
1. Только одна страница - must have (Можно больше если вы гуру с 10+ лет опыта)
2. Таймлайн от последнего места работы к первому
3. Убрать нерелевантный или очень короткий опыт
4. Показывать, что получилось достичь, улучшить и к чему это привело тебя или компанию
5. Больше цифр - это все любят! "Улучшил метрику Х на 35%. Изменения Y увеличили Z в 3 раза и тд"
6. Автовыгруженное резюме с HH - red flag🚩 для многих компаний
7. Фото, возраст, пол для иностранных компаний лучше не указывать
Я знаю, что многие из вас готовятся к интервью и откликаются на вакансии и знают как часто приходят отказы еще на этапе отклика. Очень важно зацепить рекрутера именно своим резюме.
Хочу порекомендовать сайт https://www.overleaf.com/gallery/tagged/cv с готовыми шаблонами, он помог мне составить резюме.
Оно точно работает, я успел проверить его опытным путем) в РФ и на иностранном рынке труда, в том числе FAANG. Сейчас думаю поменять некоторые пункты, и постараться показать свои достижения и результаты выразительней.
Несколько рекомендаций, которые отмечают по составлению резюме:
1. Только одна страница - must have (Можно больше если вы гуру с 10+ лет опыта)
2. Таймлайн от последнего места работы к первому
3. Убрать нерелевантный или очень короткий опыт
4. Показывать, что получилось достичь, улучшить и к чему это привело тебя или компанию
5. Больше цифр - это все любят! "Улучшил метрику Х на 35%. Изменения Y увеличили Z в 3 раза и тд"
6. Автовыгруженное резюме с HH - red flag🚩 для многих компаний
7. Фото, возраст, пол для иностранных компаний лучше не указывать
Overleaf
Gallery - Templates, Examples and Articles written in LaTeX
An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.
HR Screening interview
Я уже писал о том, какие неудобные вопросы можно услышать от рекрутера или нанимающего менеджера. Чтобы показать свою вовлеченность в процесс интервью, узнать больше о позиции и понять, насколько вам подходит новая роль, необходимо задавать правильные вопросы и вам.
Подготовил список вопросов, которые я люблю спрашивать на интервью. Упор был сделан на поиск работы за рубежом, так как, на мой взгляд, это перспективней на данный момент. В том числе для меня, как не native speaker, это создает больше трудностей.
1. Is remote work an option for this position? - Это база. Многие мечтают зарабатывать доллары и евро, и чилить на дешевых островах (хотя таких уже и нет).
2. Does the company provide support for relocation and offer visa sponsorship? - Все-таки вы решили забустить карьеру и уехать в Долину.
3. What qualities and skills are you seeking in an ideal candidate for this role? Или What can distinguish a candidate as the most suitable for the company? - Если это первый этап интервью, дальше будет проще выстраивать диалог и подсвечивать нужные качества.
4. Could you walk me through the interview process for this position? - Сразу выясним, будут ли тестовые задания, которые никто не проверит, или 7 этапов душных алгоритмических собеседований.
5. How many employees are currently part of the iOS squad? - Для меня важно, чтобы я был не один в команде разработчик. Иначе у кого учиться и кому передавать свои знания?
6. Is this position newly created, or did someone leave the company? - Может и мне не стоит туда залетать вообще?
7. Why is the company seeking external candidates rather than promoting someone internally? - То же самое, что и предыдущий вопрос, только в другой руке). Больше мэтчится с позициями лидов. На мой взгляд, безопаснее повышать людей, а не нанимать с рынка.
8. What is the development process like at your company? Are there any specific methodologies or tools that the team uses? И туда же How do you ensure code quality and maintainability in development? - Проверить, вообще ли они слышали про процессы разработки или это стартап на коленках. Ответ может сказать много о зрелости и профессионализме команды.
9. Are there any particular challenges or upcoming projects that the team is currently facing? - Пролить чуть больше света на то, чем вам предстоит заниматься в ближайшее время. Может быть, вас зовут писать тесты и фиксить баги после команды говнорей-аутсорсеров.
10. Can you describe the company's approach to testing and releasing apps? - Мне это дает понимание о том, в каком темпе и с каким прессингом со стороны менеджмента команда существует.
11. Are there opportunities for professional growth and skill development within the company? - Наверное, базовый вопрос, больше для формальности, чтобы показать мотивацию и целеустремленность. Ответ в 9 из 10 случаев не соответствует реалиям по итогу.
Вот такой у меня список. Очевидно, что в процессе интервью могут возникнуть еще вопросы, или какие-то вопросы задавать не придется, так как представитель компании уже расскажет об этом. Пользуйтесь и пишите в комментариях, что вам важно узнать на интервью.
Больше статей на тему интервью можно найти на сайте https://www.themuse.com/advice/interviewing
PS: Как спрашивать о зарплате и выторговывать оффер послаще, думаю, написать отдельно."
#interview
Я уже писал о том, какие неудобные вопросы можно услышать от рекрутера или нанимающего менеджера. Чтобы показать свою вовлеченность в процесс интервью, узнать больше о позиции и понять, насколько вам подходит новая роль, необходимо задавать правильные вопросы и вам.
Подготовил список вопросов, которые я люблю спрашивать на интервью. Упор был сделан на поиск работы за рубежом, так как, на мой взгляд, это перспективней на данный момент. В том числе для меня, как не native speaker, это создает больше трудностей.
1. Is remote work an option for this position? - Это база. Многие мечтают зарабатывать доллары и евро, и чилить на дешевых островах (хотя таких уже и нет).
2. Does the company provide support for relocation and offer visa sponsorship? - Все-таки вы решили забустить карьеру и уехать в Долину.
3. What qualities and skills are you seeking in an ideal candidate for this role? Или What can distinguish a candidate as the most suitable for the company? - Если это первый этап интервью, дальше будет проще выстраивать диалог и подсвечивать нужные качества.
4. Could you walk me through the interview process for this position? - Сразу выясним, будут ли тестовые задания, которые никто не проверит, или 7 этапов душных алгоритмических собеседований.
5. How many employees are currently part of the iOS squad? - Для меня важно, чтобы я был не один в команде разработчик. Иначе у кого учиться и кому передавать свои знания?
6. Is this position newly created, or did someone leave the company? - Может и мне не стоит туда залетать вообще?
7. Why is the company seeking external candidates rather than promoting someone internally? - То же самое, что и предыдущий вопрос, только в другой руке). Больше мэтчится с позициями лидов. На мой взгляд, безопаснее повышать людей, а не нанимать с рынка.
8. What is the development process like at your company? Are there any specific methodologies or tools that the team uses? И туда же How do you ensure code quality and maintainability in development? - Проверить, вообще ли они слышали про процессы разработки или это стартап на коленках. Ответ может сказать много о зрелости и профессионализме команды.
9. Are there any particular challenges or upcoming projects that the team is currently facing? - Пролить чуть больше света на то, чем вам предстоит заниматься в ближайшее время. Может быть, вас зовут писать тесты и фиксить баги после команды говнорей-аутсорсеров.
10. Can you describe the company's approach to testing and releasing apps? - Мне это дает понимание о том, в каком темпе и с каким прессингом со стороны менеджмента команда существует.
11. Are there opportunities for professional growth and skill development within the company? - Наверное, базовый вопрос, больше для формальности, чтобы показать мотивацию и целеустремленность. Ответ в 9 из 10 случаев не соответствует реалиям по итогу.
Вот такой у меня список. Очевидно, что в процессе интервью могут возникнуть еще вопросы, или какие-то вопросы задавать не придется, так как представитель компании уже расскажет об этом. Пользуйтесь и пишите в комментариях, что вам важно узнать на интервью.
Больше статей на тему интервью можно найти на сайте https://www.themuse.com/advice/interviewing
PS: Как спрашивать о зарплате и выторговывать оффер послаще, думаю, написать отдельно."
#interview
The Muse
Interviewing
Get tips and tricks for answering tough questions, dressing appropriately, sending the perfect thank you note, and interviewing like a pro.
Пригласили рассказать о поиске работы за рубежом. Подкинули вам лайфхаки от экспертов с опытом в разных странах и международных компаниях. Смотрите, ставьте лайки)
https://www.youtube.com/live/EXUqWzDKDeo?feature=share
#interview
https://www.youtube.com/live/EXUqWzDKDeo?feature=share
#interview
YouTube
Как найти работу за границей? | Трудоустройство в международную компанию | AgileFluent + Solvery
#трудоустройство #работазаграницей #IT
Эфир про поиск работы за границей с менторами Solvery из международных компаний и основательницей AgileFluent Дарьей Шульгиной.
В первом эфире феста мок-интервью на английском языке AgileFluent и Solvery поговорим…
Эфир про поиск работы за границей с менторами Solvery из международных компаний и основательницей AgileFluent Дарьей Шульгиной.
В первом эфире феста мок-интервью на английском языке AgileFluent и Solvery поговорим…
Я заметил, что людей прибавилось, и я незнаком со многими лично. Самое время представиться, как следует.
Меня зовут Чистяков Вадим, я занимаюсь iOS разработкой более 6 лет. Сейчас живу в Черногории в городе Будва. На данный момент работаю на позиции iOS Team Lead в компании Prequel.
Немного фактов обо мне:
- Работал в разных компаниях. Рад и очень благодарен этому опыту.
https://www.linkedin.com/in/vadim-chistiakov/
- Люблю развлекаться на литкоде, как душнила)
https://leetcode.com/Titaniys/
- Занимаюсь менторингом. Это одна из причин, почему я завел этот канал. Классно помогает прокачивать свои знания, в особенности soft skills.
https://vadim-chistiakov.github.io/services/
- В свободное время люблю путешествовать и пробовать новое. Побывал в 18 странах.
https://my.flightradar24.com/VadimChistiakov
- Катаюсь на сноуборде зимой, а летом на велике) Да и в целом люблю экстрим и активный отдых. Больше о мире моими глазами тут
https://instagram.com/vadim_chist
Меня зовут Чистяков Вадим, я занимаюсь iOS разработкой более 6 лет. Сейчас живу в Черногории в городе Будва. На данный момент работаю на позиции iOS Team Lead в компании Prequel.
Немного фактов обо мне:
- Работал в разных компаниях. Рад и очень благодарен этому опыту.
https://www.linkedin.com/in/vadim-chistiakov/
- Люблю развлекаться на литкоде, как душнила)
https://leetcode.com/Titaniys/
- Занимаюсь менторингом. Это одна из причин, почему я завел этот канал. Классно помогает прокачивать свои знания, в особенности soft skills.
https://vadim-chistiakov.github.io/services/
- В свободное время люблю путешествовать и пробовать новое. Побывал в 18 странах.
https://my.flightradar24.com/VadimChistiakov
- Катаюсь на сноуборде зимой, а летом на велике) Да и в целом люблю экстрим и активный отдых. Больше о мире моими глазами тут
https://instagram.com/vadim_chist
Хочу упростить навигацию по каналу и обозначить темы, о которых мне интересно писать и размышлять.
1. Этот канал создавался, как помощник изучающим #swift и #ios в целом. Постараюсь фокусироваться на шеринг знаний в этих областях, как main stream канала.
2. Многие из вас в активном поиске новой работы или даже первой. Я уверен, что мой опыт в проведении и прохождении технических интервью будет релевантным. Топик - #interview #lookingforjob
3. Я долгое время хотел найти работу за рубежом и больше путешествовать. Поэтому хочу делиться своим опытом, как digital nomad и опытом переезда на постоянку в другую страну #relocate #remote #digitalnomad
4. Думаю, что так или иначе будут проскальзывать общие темы об #it и #programming через призму моего опыта и наблюдений #experience.
5. Все, что не попадет в обозначенные темы, но очень захочется запостить помечу #random
Чтобы получше узнать, что вам вообще интересно, запущу опросы. Не стесняйтесь голосовать они будут анонимны)
1. Этот канал создавался, как помощник изучающим #swift и #ios в целом. Постараюсь фокусироваться на шеринг знаний в этих областях, как main stream канала.
2. Многие из вас в активном поиске новой работы или даже первой. Я уверен, что мой опыт в проведении и прохождении технических интервью будет релевантным. Топик - #interview #lookingforjob
3. Я долгое время хотел найти работу за рубежом и больше путешествовать. Поэтому хочу делиться своим опытом, как digital nomad и опытом переезда на постоянку в другую страну #relocate #remote #digitalnomad
4. Думаю, что так или иначе будут проскальзывать общие темы об #it и #programming через призму моего опыта и наблюдений #experience.
5. Все, что не попадет в обозначенные темы, но очень захочется запостить помечу #random
Чтобы получше узнать, что вам вообще интересно, запущу опросы. Не стесняйтесь голосовать они будут анонимны)
Провел mock interview для совместного проекта Solvery и AgileFluent. К сожалению, были проблемы с трансляцией и звук записался в плохом качестве. Ссылку на собес все равно оставлю, но рекомендовать к просмотру не буду)
https://www.youtube.com/live/o6jxnLg6tks?feature=share
Теоретические вопросы, которые успели обсудить, прилагаются. На некоторые можно дать лаконичный ответ, а другие предполагают развернутые ответы в зависимости от уровня кандидата.
Common questions:
• First of all, please, tell me about your background and experience?
• What are you looking for in the next role?
• What is your the greatest achievement as an employee?
Computer science and Algorithm complexity:
• Let discuss SOLID principles. Can you find any examples from standard swift libraries where principles were kept or violated?
• Can you give some examples of where singletons might be a good idea? (Examples from ios UIApplication or URLSession)
• What kind of collections we have in Swift?
• What is the complexity of main operations in them?
• What the difference between Set and OrderedSet?
• How does OrderedSet look like under the hood?
Swift and ios
• How would you explain protocol-oriented programming to a new Swift developer? What is the difference between OOP and POP?
• What steps would you follow to make a network request? (Back to main thread, Combine, Swift type result)
Memory handling
• What is the difference between value type and reference type?
• Why we need unowned if we have weak parameter?
• What is the autorelease and autorelease pool? Use cases?
• What is the side table?
UI layer
• What does view controller life-cycle look like?
• What is the difference between CALayer and UIView?
• Can you name any different CALayer subclasses?
• Why we have three similar methods layoutSubview, layoutIfNeeded and setNeedsLayout?
• How can we establish relationship between two horizontal labels in case when text doesn't fit the screen?
Если какие-то вопросы не понятны, можете спросить в комментариях
#lookingforjob #interview #ios #swift
https://www.youtube.com/live/o6jxnLg6tks?feature=share
Теоретические вопросы, которые успели обсудить, прилагаются. На некоторые можно дать лаконичный ответ, а другие предполагают развернутые ответы в зависимости от уровня кандидата.
Common questions:
• First of all, please, tell me about your background and experience?
• What are you looking for in the next role?
• What is your the greatest achievement as an employee?
Computer science and Algorithm complexity:
• Let discuss SOLID principles. Can you find any examples from standard swift libraries where principles were kept or violated?
• Can you give some examples of where singletons might be a good idea? (Examples from ios UIApplication or URLSession)
• What kind of collections we have in Swift?
• What is the complexity of main operations in them?
• What the difference between Set and OrderedSet?
• How does OrderedSet look like under the hood?
Swift and ios
• How would you explain protocol-oriented programming to a new Swift developer? What is the difference between OOP and POP?
• What steps would you follow to make a network request? (Back to main thread, Combine, Swift type result)
Memory handling
• What is the difference between value type and reference type?
• Why we need unowned if we have weak parameter?
• What is the autorelease and autorelease pool? Use cases?
• What is the side table?
UI layer
• What does view controller life-cycle look like?
• What is the difference between CALayer and UIView?
• Can you name any different CALayer subclasses?
• Why we have three similar methods layoutSubview, layoutIfNeeded and setNeedsLayout?
• How can we establish relationship between two horizontal labels in case when text doesn't fit the screen?
Если какие-то вопросы не понятны, можете спросить в комментариях
#lookingforjob #interview #ios #swift
YouTube
Моковое собеседование на iOS-разработчика в зарубежную компанию | Solvery + AgileFluent
Solvery совместно с AgileFluent и при поддержке сообщества Coffee&Code (https://t.me/coffeeCodeEverywhere) проведёт техническое собеседование на iOS-разработчика в международную компанию в прямом эфире! Присоединяйтесь, поддержите участника и узнайте, как…
Stack vs Heap 👨💻
Базовый вопрос на любой уровень кандидата, но часто слышу невнятные ответы. Собрал полный ответ, который зачастую, хотят услышать на интервью:
Stack(Стек):
• Статичная память. Выделение происходит только во время компиляции.
• Стек имеет структуру данных LIFO (последний пришел – первый вышел)
• Очень быстрый доступ
• При вызове функции все локальные экземпляры этой функции помещаются в текущий стек. И как только функция завершит выполнение, все экземпляры будут удалены из стека.
• Данные, хранящиеся в стеке, находятся там только временно, пока функция не завершит работу и не вызовет автоматическое освобождение всей памяти в стеке.
• Каждая область действия (scope) в вашем приложении (например, внутреннее содержимое метода) будет предоставлять необходимый объем памяти.
• Cтек не используется с объектами, которые изменяют размер.
• Каждый поток имеет собственный стек
• В стеках хранятся типы значений(value type), такие как структуры и перечисления, скаляры.
• Если размер вашего типа значения может быть определен во время компиляции или если ваш тип значения не содержит рекурсивно/не содержит ссылочного типа, тогда потребуется выделение стека.
• Value type не увеличивает счетчик ссылок. Но если ваш value type содержит внутренний reference typy, для его копирования потребуется вместо этого увеличить счетчик ссылок его дочерних элементов.
Heap(Куча):
• Динамическое распределение памяти и распределение происходит во время выполнения.
• К значениям можно обращаться в любое время через адрес памяти.
• Нет ограничений на объем памяти
• Доступ к объектам медленнее чем на стеке
• Когда процесс запрашивает определенный объем памяти, куча ищет адрес памяти, удовлетворяющий этому запросу, и возвращает его процессу.
• Когда память больше не используется, процесс должен сказать куче освободить этот раздел памяти.
• Требуется потокобезопасность.
• Куча доступна всем потокам
• Если размер вашего типа значения(value type) не может быть определен во время компиляции (из-за протокола/дженерика) или если ваш value type рекурсивно содержит/содержится внутри ссылочного типа (помните, что замыкания также являются ссылочными типами), тогда потребуется выделение кучи.
• Классы хранятся в динамической памяти.
Выделение кучи медленнее, чем выделение стека, не только из-за более сложной структуры данных — оно также требует безопасности потоков. Каждый поток имеет свой собственный стек, но куча используется совместно всеми, что требует синхронизации.
#interview #ios #swift
Базовый вопрос на любой уровень кандидата, но часто слышу невнятные ответы. Собрал полный ответ, который зачастую, хотят услышать на интервью:
Stack(Стек):
• Статичная память. Выделение происходит только во время компиляции.
• Стек имеет структуру данных LIFO (последний пришел – первый вышел)
• Очень быстрый доступ
• При вызове функции все локальные экземпляры этой функции помещаются в текущий стек. И как только функция завершит выполнение, все экземпляры будут удалены из стека.
• Данные, хранящиеся в стеке, находятся там только временно, пока функция не завершит работу и не вызовет автоматическое освобождение всей памяти в стеке.
• Каждая область действия (scope) в вашем приложении (например, внутреннее содержимое метода) будет предоставлять необходимый объем памяти.
• Cтек не используется с объектами, которые изменяют размер.
• Каждый поток имеет собственный стек
• В стеках хранятся типы значений(value type), такие как структуры и перечисления, скаляры.
• Если размер вашего типа значения может быть определен во время компиляции или если ваш тип значения не содержит рекурсивно/не содержит ссылочного типа, тогда потребуется выделение стека.
• Value type не увеличивает счетчик ссылок. Но если ваш value type содержит внутренний reference typy, для его копирования потребуется вместо этого увеличить счетчик ссылок его дочерних элементов.
Heap(Куча):
• Динамическое распределение памяти и распределение происходит во время выполнения.
• К значениям можно обращаться в любое время через адрес памяти.
• Нет ограничений на объем памяти
• Доступ к объектам медленнее чем на стеке
• Когда процесс запрашивает определенный объем памяти, куча ищет адрес памяти, удовлетворяющий этому запросу, и возвращает его процессу.
• Когда память больше не используется, процесс должен сказать куче освободить этот раздел памяти.
• Требуется потокобезопасность.
• Куча доступна всем потокам
• Если размер вашего типа значения(value type) не может быть определен во время компиляции (из-за протокола/дженерика) или если ваш value type рекурсивно содержит/содержится внутри ссылочного типа (помните, что замыкания также являются ссылочными типами), тогда потребуется выделение кучи.
• Классы хранятся в динамической памяти.
Выделение кучи медленнее, чем выделение стека, не только из-за более сложной структуры данных — оно также требует безопасности потоков. Каждый поток имеет свой собственный стек, но куча используется совместно всеми, что требует синхронизации.
#interview #ios #swift