На гит-репозиторий не смотрел, поскольку все алгоритмы набирал вручную. Да и не вижу смысла копировать такие кусочки кода. Касательно тех, что были в книге, кажется. я только 3 очипатки нашёл. Возможно, мне (как математику, который учил фундамент и доказательства всех изложенных алгоритмов) всё показалось не таким страшным?
В любом случае, он попытался изложыть доступным язиком=) Надеюсь, желающие помочь исправят его ошибки.
Спасибо за отзыв!
Вы правы, в книге есть опечатки (у меня в планах написать автору письмо). Я в восторге от того, каким образом автору удалось (как на мой взгляд) обьяснить суть работы некоторых алгоритмов и дать общее представление о них и о реализации. Согласен — последние главы ни о чём, НО цель ведь была немного в другом. Обьяснить нематематику алгоритмы, про которые ему на лекциях сказали по пару предложений, не очень простая задача. Конечно, для работы с алгоритмами нужно читать совсем другие книги. Да и цель моего обзора немного другая.
Не вижу ничего плохого в этом. Сейчас «автофокусировка» на 10-ке не слишком нужных (или практичных) вопросах. Пускай их будет побольше=) В любом случае многое зависит от собеседников и их опыта.
Вы же сами понимаете, что такие обзоры только поднимают планку в требованиях к знаниям и опыту для обоих собеседников.
П.С. Описанные выше вопросы применимы в основном к уровням синьйор (макс. тим лид) и ниже. Для более высоких уровней они будут другими.
Первым делом в глаза кинулась елегантность и простота языка Python. Более-менее чёткая и понятная стандартизация во многих вещах.
Конечно, после использования некоторых шаблонов из GoF или из J2EE на РНР у меня был некий шок, ведь public/private/protected в чистом виде в питоне отсутствуют.
Но благо, есть бенчмарки, где можно сравнить скорость работы, расход памяти и пр. для разных языков. В конечном итоге мой выбор пал на питон.
П.С. Не хочу холиварить. Сам достаточно долго проработал на РНР и до сих пор считаю, что на нём можно реализовать 80-90% того. что нужно для веба. Остальное — через обходные пути.
НО усилия, которые нужны для написания кода на РНР и аналогичного на питоне очень разные.
1. К сожалению, сам неоднократно стыкался с несоответствием оплаты — знаниям. Как по мне, тут несколько факторов: как ты себя оцениваешь, за сколько готов себя продать, сколько стоит проект и сколько фирма готова тебе отстегнуть. После общения с соотв. ребятами просто стал понимать, что рынок диктует условия. Лично я видел проекты, где мидлу (по знаниям) платили как синьйору (по ЗП). Раз даже видел и наоборот.
2. Вы очень хорошо описали причины, по которым я перешёл с Делфи а позже и РНР на питон и двигался дальше. Я тоже стремлюсь к новым знаниям. П.С. Я даже поэтому теперь чуть сместился с веб-разработки на питоне — в БигДату.
3. А вот к подбору работодателей я подходил очень аккуратно. Для себя сложил матрицу, где выписал главные для меня параметры, а потом ставил очки после прохождения собеседования. Также у каждого параметра был свой вес (приоритет для меня). По итоговой оценке я выбирал.
Среди главных параметров были такие (по убыванию приоритетов):
— технологии используемые на проекте
— состав комманды
— ЗП
— среднее время добирания
— моя оценка уровня собеседования
— размер фирмы
и несколько других
Для меня главное работать в хорошей комманде, у кого есть чему-то новому поучиться, перспективные технологии и пр., а уже потом ЗП (ней я могу пожертвовать)
1. Вы удивитесь, но вопрос касательно стиля и пайчекера был задан мне на двух разных собеседованиях.
2. Я полностью с Вами согласен, что всё зависит, от интервьювера, компании и конкретного проекта. Но я их не задавал и не выдумывал. Написал то, что сам слышал.
3.
Почему бы не рассказать про generator expressions?
Почему именно про frozen_set, default_dict, ordered_dict, а не рассказать про иерархию типов начиная с синглтонов и примитивов
Хорошая идея. Позже добавлю.
4.
Тем не менее, немало компаний не спрашивают SOLID вовсе, и предпочитают сосредоточиться на внутренностях питона или на решении задач.
Возможно, в Вашем случае так и есть, но у меня было наоборот. Я заметил, более важно не компания, а то, кто тебе попался на собеседовании. В одном из интервью меня собеседовал парень, который работал несколько лет в Google. Он спрашивал про более практичные вещи.
5.
Честно говоря, секция по Python могла бы быть и лучше. Вопросов мало, и многие из них носят поверхностный характер.
Я заметил, что это зависит от уровня знаний собеседника. Никто не будет спрашывать, какая разница между версиями MRO или работу garbage collector не зная ответа. Возможно, мне попадались собеседники, которым было интересно именно то, что я описал в статье.
В одно время я хотел написать что-то подобное, но, во-первых, таких статей очень много, а во-вторых, опираясь на свой пред. опыт могу уверенно сказать, что РНР не сравниться с питоном (даже не смотря на замечательные фреймворки типа Laravel и последний Zend). Хотя в седьмой версии и внесли много полезных правок, лично в моих глазах он не дотягивает до питона.
Аутентификацию не следует путать с авторизацией (процедурой предоставления субъекту определённых прав) и идентификацией (процедурой распознавания субъекта по его идентификатору).
Статья, которую Вы указали, за 2000 год. Мне кажеться, что с того времени некоторые понятия обрели новые имена и переводы.
Дело в том, что между аутентификацией и идентификацией более тонкая грань, нежели между аутентификацией и авторизацией.
П.С. Этот вопрос был вырван из контекста вопросов по безопасности. Некоторые из них я тут упустил. Поэтому со стороны могло показаться некоторое задротство.
1. У меня была цель не обучить других языку, а помочь при подготовке к собеседованиям.
2. Я с Вами полностью согласен! Мне тоже непонятно зачем искать «швейцарский нож» для 2-3 задач. Разве что в долгосрочной перспективе такого сотрудника можно кидать на разные проекты.
3. Из моей практики чаще полезно знать теорию и понимать, как оно работает под капотом. Это все зависит от Вашых обязаностей и проблем на проекте.
Думаю, мне найбольше помог опыт работы с Delphi (я на нём написал свою первую платформу по документообороту), а уж потом php (поскольку для него изучил 90% все основных шаблонов программирования). Для меня любознательность + интерес к своему делу — основные мотиваторы (наряду или после ЗП).
Мне также помог знакомый, который показал все прелести работы на питоне=)
Сам синтаксис язика очень приятный и учиться за пару недель.
На практику у меня ушло около полугода. Теорию подтянул за 2-3 месяца. Благо, мой бэкграунд это позволил мне сделать с найменьшими усилиями. Также интересно и полезно было сравнивать уже известные язики с питоном.
В любом случае, он попытался изложыть доступным язиком=) Надеюсь, желающие помочь исправят его ошибки.
Вы правы, в книге есть опечатки (у меня в планах написать автору письмо). Я в восторге от того, каким образом автору удалось (как на мой взгляд) обьяснить суть работы некоторых алгоритмов и дать общее представление о них и о реализации. Согласен — последние главы ни о чём, НО цель ведь была немного в другом. Обьяснить нематематику алгоритмы, про которые ему на лекциях сказали по пару предложений, не очень простая задача. Конечно, для работы с алгоритмами нужно читать совсем другие книги. Да и цель моего обзора немного другая.
Вы же сами понимаете, что такие обзоры только поднимают планку в требованиях к знаниям и опыту для обоих собеседников.
П.С. Описанные выше вопросы применимы в основном к уровням синьйор (макс. тим лид) и ниже. Для более высоких уровней они будут другими.
Конечно, после использования некоторых шаблонов из GoF или из J2EE на РНР у меня был некий шок, ведь public/private/protected в чистом виде в питоне отсутствуют.
Но благо, есть бенчмарки, где можно сравнить скорость работы, расход памяти и пр. для разных языков. В конечном итоге мой выбор пал на питон.
П.С. Не хочу холиварить. Сам достаточно долго проработал на РНР и до сих пор считаю, что на нём можно реализовать 80-90% того. что нужно для веба. Остальное — через обходные пути.
НО усилия, которые нужны для написания кода на РНР и аналогичного на питоне очень разные.
2. Вы очень хорошо описали причины, по которым я перешёл с Делфи а позже и РНР на питон и двигался дальше. Я тоже стремлюсь к новым знаниям. П.С. Я даже поэтому теперь чуть сместился с веб-разработки на питоне — в БигДату.
3. А вот к подбору работодателей я подходил очень аккуратно. Для себя сложил матрицу, где выписал главные для меня параметры, а потом ставил очки после прохождения собеседования. Также у каждого параметра был свой вес (приоритет для меня). По итоговой оценке я выбирал.
Среди главных параметров были такие (по убыванию приоритетов):
— технологии используемые на проекте
— состав комманды
— ЗП
— среднее время добирания
— моя оценка уровня собеседования
— размер фирмы
и несколько других
Для меня главное работать в хорошей комманде, у кого есть чему-то новому поучиться, перспективные технологии и пр., а уже потом ЗП (ней я могу пожертвовать)
1. Вы удивитесь, но вопрос касательно стиля и пайчекера был задан мне на двух разных собеседованиях.
2. Я полностью с Вами согласен, что всё зависит, от интервьювера, компании и конкретного проекта. Но я их не задавал и не выдумывал. Написал то, что сам слышал.
3.
Хорошая идея. Позже добавлю.
4.
Возможно, в Вашем случае так и есть, но у меня было наоборот. Я заметил, более важно не компания, а то, кто тебе попался на собеседовании. В одном из интервью меня собеседовал парень, который работал несколько лет в Google. Он спрашивал про более практичные вещи.
5.
Я заметил, что это зависит от уровня знаний собеседника. Никто не будет спрашывать, какая разница между версиями MRO или работу garbage collector не зная ответа. Возможно, мне попадались собеседники, которым было интересно именно то, что я описал в статье.
Статья, которую Вы указали, за 2000 год. Мне кажеться, что с того времени некоторые понятия обрели новые имена и переводы.
За ссылку спасибо. Век живи — век учись!
П.С. Этот вопрос был вырван из контекста вопросов по безопасности. Некоторые из них я тут упустил. Поэтому со стороны могло показаться некоторое задротство.
Такой детальный мануал получился! Кратко, внятно обо всём самом нужном.
2. Я с Вами полностью согласен! Мне тоже непонятно зачем искать «швейцарский нож» для 2-3 задач. Разве что в долгосрочной перспективе такого сотрудника можно кидать на разные проекты.
3. Из моей практики чаще полезно знать теорию и понимать, как оно работает под капотом. Это все зависит от Вашых обязаностей и проблем на проекте.
Мне также помог знакомый, который показал все прелести работы на питоне=)
П.С. Очень много правок было=)
Сам синтаксис язика очень приятный и учиться за пару недель.
На практику у меня ушло около полугода. Теорию подтянул за 2-3 месяца. Благо, мой бэкграунд это позволил мне сделать с найменьшими усилиями. Также интересно и полезно было сравнивать уже известные язики с питоном.