Первое, что обязан понимать кандидат - это практическое применение классов эквивалентности и граничных значений. Мне неважно знание теоретической формулировки, но умение применять методику - это просто must have. Есть куча задач разной степени абстрактности, направленных на проверку этого навыка (эти знания не мешало бы иметь и каждому разработчику). Если человек изучал теорию, то могу спросить про pairwise и state-transition, про суть техник и ограничения применимости (понимание последнего - вещь опциональная).
Далее идут общетехнические вопросы, связанные со сферой, в которой работаю (сейчас это исключительно веб, ранее были ещё мобильные приложения): общее понимание устройства клиент-серверной архитектуры (необходимо понимание, что какие-то вещи выполняются на клиенте, какие-то - на сервере), HTTP-запросы (виды и в общих чертах для чего применяются) и какие ответы бывают (понимание, что есть классы ответов 2**, 3** и т.д. - уже норм), для чего в общих чертах нужны HTML, css, JS, что такое AJAX. Задаю вопросы про процессы (про какие методологии знает/работал), что будет делать в условиях неясных/меняющихся требований (жду готовности активно взаимодействовать с разработчиками и стороной заказчика - пм/аналитик, смотря кто отвечает за постановку задач). Могу спросить, что делать, если требований нет (на самом деле требования есть всегда, может не быть задокументированных требований, но если требований нет совсем, значит делать ничего не надо - выпускаемый продукт никому не нужен).
Если человек до этого работал с вебом, спрашиваю по инструментам - знание возможностей инструментария разработчика в браузере и с чем конкретно работал (просмотр запросов/ответов, стилей, HTML, их правка, время загрузки, эмулияция мобилок и сетей, консоль, куки и локал сторадж). По последнему - спрашиваю, что из себя представляют куки, для чего используются (если заявлены знания или опыт работы в сфере веба, то отсутствие ответа будет сильно подозрительным). Если отвечает хорошо, то могу опционально спросить про локал сторадж, веб-сокеты.
Всякие лайтовые вопросы (почему пошёл в тестирование, есть ли понимание, чем хочется заниматься) - для выяснения, сможет ли наша компания удовлетворить ожидания кандидата.
Про что не спрашиваю - про sql (хотя много где спрашивают), про знание багтрекеров, про то, почему люки круглые (и в целом задачки на логику не задаю, хотя сам на собесах их решаю в целом с удовльствием).
От кандидата жду в первую очередь общей адекватности, контактности (т.к. конкретно в нашей компании навыки общения нужны больше технических), знания базы. К незнанию чего-либо или посредственному решению задачек отношусь с пониманием (т.к. знаю, что люди часто волнуются и не показывают нормального уровня на собесе). И вообще, на хабре была статья, утверждающая, что собеседующий уже в первые минуты общения складывает себе представление о том, нравится ему кандидат или нет)
В общих чертах как-то так, но наверняка много чего забыл.
Выводы:
1. Надо худеть.
2. Не надо шататься с ноги на ногу.
3. Не надо смотреть влево на экран :)