проходил сегодня собеседование

pilot911

Новичок
вопрос про кукисы важен, ибо иногда бывают такие неудобные моменты, например, по оценкам фоток или высказываний, которые записываются в куки.. потом оказывается, что человек разлогинен.. почему? вот и попробуй найти ответ

а все потому, что 4 кб кук заняты списком проголосованных сущностей :) и при переполнении 4кб старые куки затираются новыми
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
подумав, я бы спросил "вывод последовательности в каком формате и куда?"
из ответа было бы очевидно решение
но задним умом все хороши

я подобные тесты всегда проваливаю - я программист, а не знаток в "что где когда"
и ребусы не умею разгадывать
 

fixxxer

К.О.
Партнер клуба
вот именно вопрос "есть оценка фоток, ну крутилка с рандомной фоткой и 5 звездами, и там вот косяк, иногда пользователь разлогинивается, почему?" - это хороший вопрос. именно в такой формулировке.

а свои килобайты кук пускай засунут себе поглубже.
 

zerkms

TDD infected
Команда форума
вот именно вопрос "есть оценка фоток, ну крутилка с рандомной фоткой и 5 звездами, и там вот косяк, иногда пользователь разлогинивается, почему?" - это хороший вопрос. именно в такой формулировке.
без тонны дополнительных расспросов и изучения сорсов - более как "потому что борщ" на этот вопрос ответить нельзя :)

-~{}~ 13.05.10 09:07:

все вопросы это конечно форменный пздц, но вот первая фраза, это однозначно фейл ТСа:

Да, я не столь силен в SQL, что бы писать его сразу на бумаге и не помню как в шестнадцатеричную систему переводить.
 

Духовность™

Продвинутый новичок
zerkms
фейл-не фейл... я действительно не столь сильно силен в SQL, что бы писать его на бумаге. Тем не менее, я писал кучу SQL запросов и как-то справлялся. Странно, да?

А ещё забыл на собеседовании, как пишется слово ASC для ORDER выражения и написал по моему ASK. Я вообще очень часто забываю прописные истины. Мне нужно лезть в мануал что бы узнать то, что я раньше хорошо знал. Например, я недавно тужился, вспоминал какая функция для mysql мне нужна и какая там последовательность аргументов, ибо для SQL я пользуюсь наработками, которые абстрагировали меня от взаимодействия напрямую с низкими уровнями. Если бы меня спросили, как пользоваться mysql_fetch_assoc я бы наверняка впал в ступор, ибо я уже несколько лет получаю результат через $result->fetch_assoc().
 

zerkms

TDD infected
Команда форума
Тем не менее, я писал кучу SQL запросов и как-то справлялся. Странно, да?
странно, да :) написание кучи запросов должно выработать механические навыки :)

А ещё забыл на собеседовании, как пишется слово ASC для ORDER выражения и написал по моему ASK.
а тут уже (не)знание английского свой отпечаток накладывает. если в вакансии есть требование английского, достаточного для чтения профессиональной литературы - то тоже, сразу "нет".
 

magic

lancer
За восемь лет был на нескольких интервью. Не подошел.

В общем, буду дальше фрилансить :)
 

Irishka

Новичок
Тем не менее, я писал кучу SQL запросов и как-то справлялся. Странно, да?
Блин, реально, когда делаешь это во время работы - это одно, можно много чего интересного написать, но когда на собеседовании это спрашивают - впадаешь в ступор и думаешь, нет ли здесь какой хитрости... и не знаешь, то ли это совсем тупой вопрос и надо ответить одним словом, то ли надо выполнить сложный запрос - сразу и не сообразишь... Потому что это не в контексте задачи!!!
 

zerkms

TDD infected
Команда форума
Irishka
Любой конкретный запрос решает конкретную задачу выборки конкретных данных. Какая ещё сверх"задача"-то нужна? %)
 

Irishka

Новичок
Точно не помню, но было что-то с максимальным значением. и я не уверена, что можно было обойтись одним max(), но времени подумать не было, поэтому я будто бы не ответила на вопрос, хотя решала гораздо сложнее задачи.
 

Wicked

Новичок
Хех... на днях проходили php5 code test на elance.com. Это такой тест, где тебе дают 10 заданий, и надо запостить код, который будет делать то, что просят. Пример одного такого задания:
Есть post-форма с чекбоксами типа
<input type="checkbox" name="checkbox_1">
...
<input type="checkbox" name="checkbox_10">
Напишите код, который выведет номера отмеченных чекбоксов в формате "1 2 5 10" по возрастанию
Сдали на 87 баллов из 100 при учёте, что не было ни одной ошибки, и по времени уложились в 30 минут из отведенных 110. Из возможных улучшений осталось:
- минимизация потребляемой кодом памяти
- сокращение кода
- ускорение написания кода - решается копипастом готовых решений с прошлого раза :)

Вот сижу теперь и гадаю, можно ли зафиксировать диапазон чисел и, соотв-но, примут ли самый простой приходящий в голову вариант:
PHP:
$s='';for($i=1;$i<11;$i++)if(isset($_POST["checkbox_$i"]))$s.=($s?' ':'').$i;print$s;
(85 символов)
Гадаю - потому что пересдавать этот тест можно не чаще раза в 14 дней. Так что из следующей попытки хочется выжать максимум и при этом не проколоться на ошибке - за это снимают баллы.

до этого постили более универсальное решение:
$a=preg_replace($r='/^checkbox_/','',preg_grep($r,array_keys($_POST)));sort($a);echo join(' ',$a); (99 символов)
 

Splurov

Новичок
А какой смысл в сокращении количества символов занимаемых кодом?
 

Wicked

Новичок
Splurov
для меня - такой, что чем короче код, тем больше баллов дают. Методика подсчёта не указана, так что имеет смысл тупо сделать самое короткое.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Автор оригинала: Wicked
до этого постили более универсальное решение:
$a=preg_replace($r='/^checkbox_/','',preg_grep($r,array_keys($_POST)));sort($a);echo join(' ',$a); (99 символов)
Нечитабельная конструкция, наверно за это и сняли баллы
 

alexv

Новичок
наверное, верный ответ - самый простой
программирование - управление сложностью ;)
 

Splurov

Новичок
Wicked
А почему ты решил, что чем код короче, тем больше баллов? Может наоборот, из-за нечитабельности понизили оценку?
 

Fortop

Новичок
Сдали на 87 баллов из 100
Я набрал 80 с чем-то (точно сейчас не скажу).
при этом было 1 ошибка/неотвеченный

А почему ты решил, что чем код короче, тем больше баллов? Может наоборот, из-за нечитабельности понизили оценку?
Ммм, разве что стоит code_sniffer
 

Splurov

Новичок
Самый короткий вариант, по-моему:
Код:
for($a='',$i=1;$i<11;$i++)if(isset($_POST['checkbox_'.$i]))echo$a?' ':'',$a=$i;
Добавлено позже:
даже так:
Код:
for($a=0,$i=1;$i<11;$i++)if(isset($_POST["checkbox_$i"]))echo$a=$a?" $i":$i;
 
Сверху