PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (29): « 1 2 3 4 [5] 6 7 8 9 ... » В конец

> Найдено сообщений: 425
exlant Отправлено: 04 Июня, 2015 - 13:55:42 • Тема: собеседование на junior php • Форум: Прочее

Ответов: 33
Просмотров: 396
dcc0 нет я не в Москве)
Panoptik согласен с вами, работать бесплатно не пойду, лучше дома посижу, и сам поучусь.
MiksIr пишет:
Вот видите, сразу важные ошибки.


1. Вы не до конца просмотрели пример документации, там есть вариант с замыканием.
2. Вы не знаете, что такое callable, что можно передавать в этот аргумент, что объект и класс - это разные вещи, и объект должен быть создан
3. Плохо читаете сообщения об ошибках Fatal error: Uncaught exception 'LogicException' with message 'Passed array specifies a non static method but no object (non-static method spl_autoload::autoload() should not be called statically)'

1. До конца я посмотрел!
2. Знаю я разницу... и в свою защиту скажу что не задумывался, как устроена эта функция внутри, вызывал ее просто передав название класса и метода в аргументе, как и было написано в примере! И если передать не static, таким образом, работать не будет! И да я не создавал объект перед этим, наивно предполагая, что функция сама его создаст...
MiksIr и да, спасибо! Теперь буду знать, что и так можно делать!
И к стати замыкание там описано в комментариях, а не в самой документации...
exlant Отправлено: 04 Июня, 2015 - 13:33:39 • Тема: собеседование на junior php • Форум: Прочее

Ответов: 33
Просмотров: 396
Ch_chov пишет:
Это из javascript.

Ну да, хотя в том же js, я предпочитаю использовать var array = []; меньше букв)

Dastor пишет:
Да не переживай ты так. Первые собеседования всегда сложные) Потом будет легче.

та да)) просто вчера пришел домой уставший, злой, и разочарованный... вот поспал, и попустило))))
Dastor пишет:
По поводу джуниора - у него практический опыт может быть и не большим, но теоретические знания должны быть на достаточно высоком уровне.
Также должен быть высокий уровень обучаемости.

ну не на уровне цитирования любой редко используемой фигни из мануала, ну это имхо, согласен на счет обучаемости, я даже считаю это должно быть самым главным и жирным +, а не знание теории того, что ты не используешь, опять же имхо, практика и теория должны идти рядом взявшись за руки! Я действую таким вот способом, попадается что то новое, то я читаю с начало теорию, пробую на практике, потом перечитую теорию, а потом уже могу более-менее нормально это использовать. А зубрить одну теорию не вижу никакого смысла!
Dastor пишет:
Основы баз данных надо знать

согласен, но это не то к чему бы стоило придираться, если бы мне понадобилось отличие между первичным и уникальным ключем, я бы посмотрел в нете 1 мин. на поиск, около 10 мин. что бы разобраться... другое дело запросы к базе, то что постоянно используется...
Dastor пишет:
Добавлю еще, что на собеседование какими бы ты знаниями не обладал, важно оставить благоприятное впечатление о себе.

Ну в моем понимании, я должен составлять благоприятное впечатление... Одет строго, туфли, брюки, рубашка(тениска), от меня не воняет сигаретами, в разговоре чувствую себя спокойно и уверенно, не мямлю, не шипилявлю, не заговариваюсь, не стесняюсь, иногда вставляю безвинную шутку, обращаюсь с уважение на Вы, даже если вижу, что общаюсь примерно со своим одногодкой, и он начинает переходить на ты. Если знаю вопрос, четко отвечаю, если нет говорю что не сталкивался еще с этим. В общем на мое мнение я должен производить впечатления уверенного, общительного, аккуратного и ответственного человека! Хотя на первом собеседовании чувствовал себе немного скованно...

DeepVarvar пишет:
Ну почему, если предположить что это пользовательский класс имплементирующий аррай-акцесс/итератор, тогда вполне себе можно.
Но я не понимаю зачем ))

да в том то и дело, что вопрос был про стандартные способы инициализации массива...
и вот к стати, Ch_chov, написал способ который я не знал - $array = (array) null; Но проводящий собеседование походу тоже этого не знал, раз написал $array = new Array();..

dcc0 пишет:
require и include вроде отличаются уровнем предупреждений.

Именно в этом и есть их основное различие, а в не в возврате или не возврате return...
То есть мне задали вопрос на который и сами не знали ответ, а раз не знали значит этим и не пользуются... Так зачем задавать тогда?
Мелкий пишет:
exlant пишет:
по-другому функция автозагрузки(spl_autoload_register) не будет работать

Будет, она жрёт любой валидный callback, можно дать обычный объект с обычным методом.
Просто обычно удобно замыканием или статическим методом.

Не будет! проверил на php 5.6 ошибка, да и мануале пример со статическим методом http://php.net/manual/ru/functio...oad-register.php
Цитата:

Fatal error: Uncaught exception 'LogicException' with message 'Passed array specifies a non static method but no object (non-static method spl_autoload::autoload() should not be called statically)'
Мелкий пишет:
С суждением согласен. Инкапсуляцию объяснить должен даже джун.

Да я согласен с этим, я бы и смог объяснить и инкапсуляцию, и наследование, и абстракцию, и полиморфизм, и что такое static, private, public, protected и для чего используются! Но вопрос не был задан таким образом, меня попросили объяснить почему я использовал здесь это а здесь это, на что искренне и честно ответил, что не помню, а комментариев там не было, а мне на основе всего этого заявили, что я не понимаю ооп...
Мелкий пишет:
Заблуждение. Бывает.

А зачем тогда спрашивать, раз сам этим не пользуешься...
Мелкий пишет:
Даже техлид в одной компании может быть всего лишь джуном в другой. И это будет серьёзным профессиональным ростом, как правило.

Согласен, но в своем резюме я явно указывал, что я только начинаю, и у меня нет практического опыта! Зачем тратить свое и чужое время?

Народ, если не сложно, дайте оценку(можно в двух словах) моего проекта(написан на голом php), вот ссылка на гитхаб https://github[dot]com/exlant/ticTacToe
exlant Отправлено: 04 Июня, 2015 - 02:46:40 • Тема: собеседование на junior php • Форум: Прочее

Ответов: 33
Просмотров: 396
В php я себя чувствую довольно уверенно, конечно не все знаю, не все умею, не со всем сталкивался... Вот решил попробовать устроиться на работу на вакансию php junior, прошел несколько собеседований(4). И у меня возник вопрос, а что собственно должен знать junior php developer? Насколько я понимаю junior php это тот, который после института, без или с не значительным опытом работы... Я видел код, и вопросы студентов выпускников на этом форуме, да и на других, с уверенностью могу сказать, что мои знания и понимание php выше их! Конечно студенты разные бывают....

Вот немного про собеседования:
1-ое собеседование: я показывал свой класс автозагрузки классов, работодатель увидел static метод, спросил чего я использовал именно static, на что я ответил по-другому функция автозагрузки(spl_autoload_register) не будет работать, пошли дальше! Открыл ему следующий файл, там был класс с кучей свойств и методов, c разными модификаторами private, protected, public, меня спросили почему я использовал здесь private, там protected, тут public, на что я ответил, что не помню и объяснил почему,(это был старый код без комментариев) почему использовал именно такой модификатор, и мне заявили, что я вообще не разбираюсь в том, что пишу и абсолютно не знаю принципов ооп, и что я вообще зря полез в такие дебри, и что мне нужно начинать с самых основ, с понятия что такое переменная, что такое объект, что такое массив. Ну я ответил, что вроде как знаю это все, переменная это ячейка для хранения данных, объект и массив являются типами переменной. И тут мне говорят, что объект и массив это не переменные, а структуры! Ну я не спорил. Домой пришел посмотрел в нете, и там пишут что таки объект и массив это типы переменной, даже на этом сайте так написано, значит я был прав!
Еще спросили различии между require и include, сказал что не знаю в основном использую require, на что мне было сказано главное отличие это то что require возвращает return, а include нет, и именно поэтому require намного ресурсоемче чем include. Пришел домой посмотрел в нете, а return возвращает и require, и include, а отличие у них совершенно в другом...
Еще спрашивали отличие между php 5.4 и 5.6, вспомнил только про mysql_* deprecated, но разве junior должен знать отличии между версиями php?
В общем сошлись на том, что дали мне тестовое задание, простенькое, написать форму, и при клике сделать js валидацию, и потом отправить пришедшие данные на почту, и записать в базу! Сделал отправил им, ответа не было... неужели так сложно было ответить хоть что то....

2.е собеседование прошло нормально, ответил на большинство вопросов, сделал небольшое тестовое задание, сказали позвонят. Спустя время на почту пришло письмо, о том что готовы меня взять на стажировку и обучение, удаленно и бесплатно(на 1-2 месяца)

3.е перед собеседованием дали ТЗ написать, написал, выслал, пригласили на собеседование! На собеседовании дали писать долгие нудные тесты, на определение типа характера и смекалки, потом сказали, что тест вообще не важен, и задали пару вопросов про php, один на временные функции - не ответил, другой про транзакции, сказал, что знаю что это такое, но никогда еще не сталкивался. Тоже на почту пришло письмо, что я не подхожу их компании.

4.е один из вопросов, сколько я знаю методов инициализации массивов, я написал
PHP:
скопировать код в буфер обмена
  1.  
  2. $array = array();
  3. $array = [];
  4. $array[] = null;
  5.  

он мне дописал еще
$array = new Array();

и еще один, как инициализировать класс с помощью переменной, в которой находиться название класса. я написал:
PHP:
скопировать код в буфер обмена
  1.  
  2. $name = 'someClass';
  3. $obj = new $name;
  4.  

на что мне было сказано, что нужно именно $obj = new $name(), а $obj = new $name; не отработает... Я начал было спорить, что оно и так и так работает, но мне было сказано что я не прав!

Потом начал проверять мои знания алгебры и геометрии, и сказал что программист должен думать алгоритмами, а не языковыми конструкциями! В общем мне было отказано в работе, и предложен бесплатный испытательный срок...
Я приехал домой, и конечно все проверил: $obj = new $name; прекрасно работает! А на его дописанный способ инициализации массива в php - $array = new Array(); IDE сразу ругнулась, ошибкой синтаксиса....

в общем сложилось впечатление, что на одних собеседованиях целенаправленно пытаются завалить, притом спрашивают вещи, которые и сами не знают...
на других, какие то завышенные требования к junior программисту! ну неужели junior должен знать разницу между php 5.4 и php 5.6? Или же знать и во всю использовать транзакции? Или же знать разницу между первичным и уникальным ключами?
Что должен знать и уметь junior?
Посоветуете что делать? А то я в замешательстве... Искать дальше работу, то есть активно ходить на все собеседования? Идти стажироваться бесплатно? Дальше самому заниматься, наращивать скилы?

p.s сейчас делаю тз, реализовал пока только регистрацию, и аутентификацию на mongoDB(условие тз), вот ссылка на гитхабе https://github[dot]com/exlant/ticTacToe , если кому не сложно, просмотрите и дайте оценку коду, может я действительно не готов еще идти на junior php программиста.
p.s.p.s. сори за столько много букв, просто накипело, две недели потратил на все это, и никакого результата.....
exlant Отправлено: 25 Мая, 2015 - 23:40:32 • Тема: Функция записи в БД из формы • Форум: Напишите за меня, пожалуйста

Ответов: 17
Просмотров: 182
Хм вот зачем я писал про подготавливаемые запросы, потом расписывал как это примерно выглядит, давал ссылку на мануал, где тоже все описано??? Объяснял, что не красиво в коде использовать всякие $bd(биде) для названия переменной(вы что про унитазы пишете??? )

Что бы в результате увидеть:
PHP:
скопировать код в буфер обмена
  1. $bd->quote($id)
  2. $result = $bd->query($sql)

???

Сколько раз нужно написать? Что один из основных плюсов в PDO и mysqli это подготавливаемые запросы, которые укрепляют защиту от SQL-инъекций!
exlant Отправлено: 25 Мая, 2015 - 02:39:09 • Тема: Вопросики??? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 627
Цитата:
Гоняться за всеми обновлениями - смысла не вижу, в виду того, что - как показало время - уязвимости и проблемы никуда с новыми версиями не уходят (одни закрывают, появляются новые), меняется обертка, а в сущности все то же самое.

если бы все так рассуждали, то мы бы еще до сих пор все в DOSе сидели...
exlant Отправлено: 25 Мая, 2015 - 00:51:36 • Тема: Функция записи в БД из формы • Форум: Напишите за меня, пожалуйста

Ответов: 17
Просмотров: 182
тоесть $url->quote(), это ваш самописный класс с методом? А не вот это - http://php.net/manual/ru/pdo.quote.php ?

1. нет, в таком виде, как я написал(массив для подготовленных запросов с параметрами, можно обозвать как пожелаете...) $parameters = array(':url' => $_POST['url'], ':id' => $id);

2. Это запрос к базе данных, что бы не писать вот так: $sth = $dbh->prepare('UPDATE `configs` SET `bloknot`= :url `WHERE` id= :id');

3. Вот это само подключение $dbh-> http://php.net/manual/ru/pdo.construct.php
а $sth означает "Statement Handle"...
И вся эта строчка, подготавливает запрос - $sql к ДБ - $dbh , и помещает объект с подготовленным запросом в $sth

4. execute() - выполняет подготовленный запрос, в нашем случаи с параметрами, которые находятся в массиве - $parameters.
exlant Отправлено: 24 Мая, 2015 - 23:39:58 • Тема: выборка всех значений из БД в массив с WHERE • Форум: Работа с СУБД

Ответов: 5
Просмотров: 992
как то так...
PHP:
скопировать код в буфер обмена
  1. $res = mysql_query("SELECT * FROM data WHERE director = 986;");
  2.  
  3. while($row = mysql_fetch_assoc($res)){
  4. echo "<pre>";
  5. print_r($row);
  6. echo "</pre>";
  7. }
exlant Отправлено: 24 Мая, 2015 - 22:59:02 • Тема: Функция записи в БД из формы • Форум: Напишите за меня, пожалуйста

Ответов: 17
Просмотров: 182
не так!

$url-> - я так и не понял что это... если quote, то $url - это наверное db connect? А почему тогда урл?
и как вам в код затесалась $bd-> - биде...

не используйте этот метод ->exec, он не поддерживает подготавливаемые запросы!

в общем выглядеть должно примерно вот так:
PHP:
скопировать код в буфер обмена
  1. $parameters = array(':url' => $_POST['url'], ':id' => $id);
  2. $sql = 'UPDATE `configs` SET `bloknot`= :url `WHERE` id= :id';
  3. $sth = $dbh->prepare($sql);
  4. $sth->execute($parameters);

(Добавление)
вот тут можете еще посмотреть
exlant Отправлено: 24 Мая, 2015 - 20:46:06 • Тема: Вопросики??? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 627
Цитата:
1. Все равно. Если не очень умеете с файлами работать, то в базе Mysqi, mysql, postgre и т.д. (cамая популярная mysql, но ей на смену идет mysqli)

не путай MySql с php API для работы с ней, такими как mysql_* и mysqli_* и тоже PDO работает с MySql!

Цитата:
Очередной максимализм и агитация. Лет 10 поддержка еще будет.
Никуда разом Mysql не выпилить. Не надейтесь.

правильно нужно ориентироваться на устаревшие технологии...
так может и php c 4ой версии изучать?
между прочим уже есть достаточно серверов с поддержкой php 5.5.0, где mysql_* будет уже выдавать deprecated
exlant Отправлено: 22 Мая, 2015 - 00:49:19 • Тема: Функция записи в БД из формы • Форум: Напишите за меня, пожалуйста

Ответов: 17
Просмотров: 182
Александерр это далеко не все отличии....
В плане безопасности там есть - подготавливаемые запросы! Про них тоже следует почитать!
в общем читайте! Не думаю что у кого то есть желание пересказывать вам мануал!
exlant Отправлено: 22 Мая, 2015 - 00:39:06 • Тема: Функция записи в БД из формы • Форум: Напишите за меня, пожалуйста

Ответов: 17
Просмотров: 182
Александерр
ошибка в выборе api для работы с mysql
http://php.net/manual/ru/functio...ysql-connect.php
exlant Отправлено: 22 Мая, 2015 - 00:29:46 • Тема: переходит на новую,пустую страницу php • Форум: Вопросы новичков

Ответов: 16
Просмотров: 671
Мелкий ну на мое мнение, если используется один из этих методов, то и заполняться должен соответствующий ему массив! Использовал метод get заполнился массив _GET, использовал метод post заполнился массив _POST, хотя это далеко от реальности!
(Добавление)
DelphinPRO $_REQUEST[] - ага, и он заполняется!
просто так никогда на приходилось делать(писать в action формы get параметры), я параметры, в таком случаи, по другому передавал (в хиден полях, в сессиях)...
даже и не думал, что так можно, да и не где не надо было мне так делать!
exlant Отправлено: 22 Мая, 2015 - 00:10:48 • Тема: Функция записи в БД из формы • Форум: Напишите за меня, пожалуйста

Ответов: 17
Просмотров: 182
то как вы пишете абсолютно не безопасно! Да и API mysql_* уже устарела, и будет удалена в следующей версии php! Используйте mysqli или pdo c их подготавливаемыми запросами!
exlant Отправлено: 22 Мая, 2015 - 00:04:38 • Тема: переходит на новую,пустую страницу php • Форум: Вопросы новичков

Ответов: 16
Просмотров: 671
Мелкий примерно так я и предположил, когда увидел, что заполнились оба массива get и post, но на мое мнение это не есть правильно!
exlant Отправлено: 21 Мая, 2015 - 22:07:27 • Тема: переходит на новую,пустую страницу php • Форум: Вопросы новичков

Ответов: 16
Просмотров: 671
В любом случаи эта тема для меня не настолько интересна, что бы сейчас разбирать в ней! Просто чисто интуитивно, подозревал, что методы get и post HTTP протокола, как то связанны с cуперглобальными массивами _GET u _POST!

Страниц (29): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB