Отличный комментарий!
А вот этого в отдел тестирования.
можно для даунов не знающих языка програмирования ?
проверяет число на четность путём отнимания от него двойки, до тех пор пока не получит 0 или 1
это я понял, я не понял кека про предложение, ну то что трамп говорит
В изначальной картинке Трамп показывал журналисту какую-то полнейшую шляпу с видом что это величайшая правда ацтеков, с которой журналист кекнул. Тут пограмист показывает не самый эффективный код с видом что ему за это дадут миллион денег в минуту
а че там про эффективность тогда?
На картинке в мемасе это пример алгоритма с эффективностью (O (N)), то-есть скорость алгоритма зависит от величины числа. Сама задача "правильно" (O (1)) в питоне решается или через % оператор, который работает как деление, но смотрит на остаток, либо через по битовый оператор & который смотрит на число в двоичном исчислении.
ну типа почему предложение если сравниваются числа ? это какой то питонисткий мем ?
offer - сколько бабок тебе предложат по результатам интервью. Интервью здесь - собес на работу
Спасибо всем, теперь понял, я просто предложение неправильно перевел _
Трамп говорит "учи английский"
"Мне интересно, насколько большую зарплату мне предложат"
Чел решил задачу дичайше неэффективным способом и ждёт предложения на 300к per nanosecond, не подметив, что у интервьюера чутка другое мнение
Да и вообще, зря докопались до дедушки. Было весьма самокритично с его стороны выложить этот фейл. Начал Питон учить, молодец какой. Можно и оффер нормальный дать. В конце концов, не в каждой конторе питонистом трудится бывший президент.
Отдельный респект за умение сразу от руки на бумаге писать в тёмной теме. Будет очень цениться!
Я нашел тебе объясняющую картинку (https://old.reactor.cc/post/4865695), но если ты не поймёшь - мы будем вынуждены пойти глубже.
Щас бы проверять число 163535135135168153216351213513212220389489746187961897165064811980198498708798481684848617575198486847521658161654650648465546516810981654798751651981654941346503186
или 1.5
или -1
или "привет"
или None
или ['иди', 'нахуй', 'пидор']
или 1.5
или -1
или "привет"
или None
или ['иди', 'нахуй', 'пидор']
А вот этого в отдел тестирования.
Отдел тестирования информирует, что "на хуй" пишется раздельно, и нам тут такие не нужны.
Могу лишь ответить, что на хуй они могут повесить гирлянду и пойти всем вместе нахуй.
В техзадании проверка чисел, про проверки инпута не буыло.
Принцип нулевого доверия требует проверять инпут всегда!
Даже если в методе инпут не предполагается!
Тогда отсутствие инпута нужно проверять особо тщательно!
(Ибо, если серьёзно, никогда не знаешь, в какую часть программы взломщик сможет вклиниться.)
(Ибо, если серьёзно, никогда не знаешь, в какую часть программы взломщик сможет вклиниться.)
типичная ситуация в языках без строгой типизации, и хитрых обёрток вокруг них типа TypeScript, когда у тебя есть строгая типизация, но это отменяет того что тебе на вход может прийти что угодно, поперёк всех типов
Ну в ts какбэ не может если ты сам себе не дурачок. Любые внешние днные должны иметь тип unknown и кастоваться через тайпгарды. Если ты сам их прописываешь как-то иначе - это проблемы с твоим кодом, а не с языком.
это понятно, что нужно по уму нужно обмазываться проверками, но это так же не отменяет того что не весь твой бандл с кодом будет на TS, там скорее будут либы на чистом JS. и наоборот, твой код может вызываться из JS кода. а там уже как получится.
Пусть пишут в ТЗ
Если в ТЗ уточняется "такого точно никогда не будет", пиши проверки. Можно еще по желанию добавить сообщение "Вы, бляди, обещали что такого не будет".
Ты тогда ещё в циклах проверяй, а точно ли i является интегером.
:-D
if (x == (int)x)
{
// Ok
} else {
sql = "DELETE * FROM users WHERE id = '" + current_user_id + "'"
}
if (x == (int)x)
{
// Ok
} else {
sql = "DELETE * FROM users WHERE id = '" + current_user_id + "'"
}
А что, вдруг там геттер какой.
const magic = {
get i() {
return Math.random() > 0.5 ? 1 : 'хуй'
}
}
with(magic) {
console.log(i)
}
const magic = {
get i() {
return Math.random() > 0.5 ? 1 : 'хуй'
}
}
with(magic) {
console.log(i)
}
Дефенсив программинг это как строить завод, где между цехами и складами стоят КПП с пулеметами и визовый режим.
Не поверишь, но такие заводы есть. Даже применяют анальное зондирование при переходе из цеха в склад и обратно.
Это функция, кто её вызвал, тот пусть с проверками и ебётся.
Обычно данные приходят от юзера или из БД, или хуже всего - от интеграции с внешними ресурсами (которые в любой момент могут сменить типы данных в ответах). К моменту, когда это становится проблемой, остаётся только одно место, где это можно контролировать, и только одно лицо, чтобы его выебать и заставить переделывать.
Принцип нулевого доверия требует использовать строго типизируемые языки, а не эти ваши питоны. Питон - это про "хуяк-хуяк, лаба готова", а не про нулевое доверие.
Кстати, для -1 должно отработать. Если только в питоне переполнение не отрабатывает необычным образом.
В питоне безразмерный BigInt, будь там цикл, работало бы, пока число влезает в оперативу. А так, рекурсия в StackLimit упрётся через 1000 (или около того) вызовов.
Тот случай, когда отсутствие компиляции и оптимизации рекурсии в цикл скорее спасает...
Ибо в цикле с бигинтом будет весело, бигинт на всю оперативу - это раком станет всё.
Ибо в цикле с бигинтом будет весело, бигинт на всю оперативу - это раком станет всё.
Проверяет числа от 0 до 980...
Пришел устраиваться на работу. Тебе дают небольшую бумажку с программным кодом. Ты малец охуел и это отразилось на твоем лице. Ну как тебе такая сумма? - спрашивает рекрутёр. И ты понимаешь, что если ты терпеливый - работа твоя.
Чтобы написать коммент, необходимо залогиниться
или 1.5
или -1
или "привет"
или None
или ['иди', 'нахуй', 'пидор']