Я PHP-разработчик, живу в Стокгольме.
Недавно я давал интервью крупному шведскому сайту (более миллиарда просмотров страниц в месяц).
Собеседование провели 2 программиста из этой компании.
В определенный момент один из них достал лист бумаги и сказал, что мне предлагают решить небольшую задачу (прямо на бумаге, без компьютера).
И что у меня есть 10 минут. Они также попросили прокомментировать каждый шаг.
Сразу скажу, что я ее не решил.
Сначала все казалось просто, но потом.
Итак, я ушел с встречи не проглотив ни слова.
С моей стороны он остался нерешенным.
Почему я публикую это? Во-первых, кому-то может пригодиться как хороший тест для наемных разработчиков; во-вторых, если кто-нибудь столкнётся с чем-то подобным, то он уже будет полон знаний; в-третьих, может кто-нибудь выложить в комментариях правильное решение? Ниже само задание.
Оставляю все в оригинале, как было.
Назначение PHP Напишите функцию read_conf($filename), которая преобразует приведенную ниже конфигурацию в многомерный массив.
Конфигурация разделена на строки, и каждая строка разделена по ключу и значению.
Ключ может быть многомерным и может быть от 1 до N, в примере ниже у нас есть только 4 уровня, но решение должно работать даже при добавлении еще одной строки с большим количеством уровней ключа: например.
session.save.db.master.host=10.0.0.1 ===config.txt=== идентификатор=www session.timeout=120 session.server.0.host=127.0.0.1 session.server.0.port=1111 session.server.0.id=сессия1 session.server.1.host=127.0.0.1 session.server.1.port=1111 session.server.1.id=сессия2 изображение.
ширина=640
image.height=480
image.watermark.small=wsmall.png
image.watermark.normal=wnormal.png
===код===
===выход=== array(3) {
["id"]=>strong(3) "www"
["session"]=>array(2) {
["timeout"]=>string(3) "120"
["server"]=>array(2) {
[0]=>
array(3) {
["host"]=>
string(9) "127.0.0.1"
["post"]=>
string(4) "1111"
["id"]=>
string(8) "session1"
}
[1]=>
array(3) {
["host"]=>
string(9) "127.0.0.1"
["port"]=>
string(4) "1111"
["id"]=>
string(8) "session2"
}
}
}
["image"]=>
array(3) {
["width"]=>
string(3) "640"
["height"]=>
string(3) "480"
["watermark"]=>
array(2) {
["small"]=>
string(10) "wsmall.png"
["normal"]=>
string(11) "wnormal.png"
}
}
}
Теги: #php #задача #собеседование #тест #найм #php
-
Сверхпроводимость
19 Oct, 24 -
Jpoint 2020: Новый Формат, Новые Возможности
19 Oct, 24 -
Varchar(Max)-Varchar(Max) И В Производстве
19 Oct, 24 -
Как Правильно Говорить Со «Сложным» Клиентом
19 Oct, 24 -
Сбербанк Защитит Яндекс От Поглощения
19 Oct, 24