Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
AmKad
miltorg
пропущено...
Нет. Нужна.
Я не web-dev, поэтому чтобы не гадать, что именно ты понимаешь под вырезкой тегов, приведи пример исходных данных и желаемого результата.


Вход:
<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>


Выход:
Первая ссылка из блока "nav"
Вторая ссылка из блока "nav"

Дополнительное условие! - Решить с помощью Регулярных выражений - Мы ведь про пример Жадности.
7 май 19, 11:54    [21879742]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
miltorg
AmKad
пропущено...
Я не web-dev, поэтому чтобы не гадать, что именно ты понимаешь под вырезкой тегов, приведи пример исходных данных и желаемого результата.


Вход:
<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>


Выход:
Первая ссылка из блока "nav"
Вторая ссылка из блока "nav"

Дополнительное условие! - Решить с помощью Регулярных выражений - Мы ведь про пример Жадности.


Решение в 10 символов исключая ввод и вывод.
7 май 19, 11:55    [21879745]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
AmKad
Member

Откуда:
Сообщений: 5049
miltorg,

with s as
(select '<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>' str from dual)
select 
regexp_substr(str, '<li><a href="(.*?)"' , 1, level, null, 1) rs1, -- ленивый квантификатор
regexp_substr(str, '<li><a href="([^"]*)', 1, level, null, 1) rs2  -- исключение
from s
connect by level <= regexp_count(str, 'li><a href="');

RS1             RS2            
--------------- ---------------
link1.html      link1.html     
link2.html      link2.html
7 май 19, 12:09    [21879772]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
AmKad
miltorg,

with s as
(select '<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>' str from dual)
select 
regexp_substr(str, '<li><a href="(.*?)"' , 1, level, null, 1) rs1, -- ленивый квантификатор
regexp_substr(str, '<li><a href="([^"]*)', 1, level, null, 1) rs2  -- исключение
from s
connect by level <= regexp_count(str, 'li><a href="');

RS1             RS2            
--------------- ---------------
link1.html      link1.html     
link2.html      link2.html


Ребят. Текст на входе может быть любым.
Неужели это нужно объяснять?
7 май 19, 12:24    [21879797]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
AmKad
miltorg,

with s as
(select '<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>' str from dual)
select 
regexp_substr(str, '<li><a href="(.*?)"' , 1, level, null, 1) rs1, -- ленивый квантификатор
regexp_substr(str, '<li><a href="([^"]*)', 1, level, null, 1) rs2  -- исключение
from s
connect by level <= regexp_count(str, 'li><a href="');

RS1             RS2            
--------------- ---------------
link1.html      link1.html     
link2.html      link2.html


Результат неверный.
Мы делаем парсинг. Аналог функции http://www.php.su/strip_tags() если хотите.
Задача: Вырезать все теги. - Например потом будет производиться разбор текста
7 май 19, 12:28    [21879800]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
AmKad
Member

Откуда:
Сообщений: 5049
miltorg
Неужели это нужно объяснять?
Конечно. Все подробно объясняй. И href-ов в теории может быть множество, не только в nav->menu->li->a. Ну а если тебе нужны все href-ы, то очевидно, какие символы нужно удалить в моем решении.
7 май 19, 12:29    [21879801]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
AmKad
miltorg
Неужели это нужно объяснять?
Конечно. Все подробно объясняй. И href-ов в теории может быть множество, не только в nav->menu->li->a. Ну а если тебе нужны все href-ы, то очевидно, какие символы нужно удалить в моем решении.


Если не уточняется какие теги нужно вырезать - значит нужно вырезать все теги.
Где я?
7 май 19, 12:32    [21879806]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
AmKad
Member

Откуда:
Сообщений: 5049
Сорри, не сразу понял, что требуется.
with s as
(select '<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>' str from dual)
select 
regexp_replace(str, '<.*?>' )  rs01,
regexp_replace(str, '<[^>]*>') rs02
from s;

RS01                                               RS02                                              
-------------------------------------------------- --------------------------------------------------
                                                                                                     
                                                                                                     
            Первая ссылка из блока "nav"                       Первая ссылка из блока "nav"          
            Вторая ссылка из блока "nav"                       Вторая ссылка из блока "nav" 
7 май 19, 12:41    [21879814]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
AmKad
Сорри, не сразу понял, что требуется.
with s as
(select '<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>' str from dual)
select 
regexp_replace(str, '<.*?>' )  rs01,
regexp_replace(str, '<[^>]*>') rs02
from s;

RS01                                               RS02                                              
-------------------------------------------------- --------------------------------------------------
                                                                                                     
                                                                                                     
            Первая ссылка из блока "nav"                       Первая ссылка из блока "nav"          
            Вторая ссылка из блока "nav"                       Вторая ссылка из блока "nav" 


Уф. Одного программиста я тут нашёл.
А больше никого нет?

Мой ответ:

s/<.*?>//g;
7 май 19, 12:47    [21879820]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Остался нераскрытым, как мне казалось самый простейший вопрос:

автор
Всё ли тут верно? 1 строка в таблице

<tr><td>Я гениальный программист<td></tr>

Если не верно, то почему и как исправить?
Если верно - то для любых ли таблиц?

Немного сумбурно, но я хочу услышать главное - 5 слов.
7 май 19, 12:51    [21879822]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
semen.s.semen
Member [заблокирован]

Откуда:
Сообщений: 2884
Самое забавное это когда интервьюер задает вопрос

Кандидат отвечает


Интервьюер говорит - неправильно

Начинается спор

В итоге кандидат приходит домой и понимает что и он и интервьюер не знали правильного ответа )

В таком случае кандидату должен быть отказ - а интервьюер должен быть уволен
7 май 19, 12:54    [21879824]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
AmKad
Сорри, не сразу понял, что требуется.
with s as
(select '<nav>
         <menu>
            <li><a href="link1.html">Первая ссылка из блока "nav"</a></li>
            <li><a href="link2.html">Вторая ссылка из блока "nav"</a></li>
         </menu>
      </nav>' str from dual)
select 
regexp_replace(str, '<.*?>' )  rs01,
regexp_replace(str, '<[^>]*>') rs02
from s;

RS01                                               RS02                                              
-------------------------------------------------- --------------------------------------------------
                                                                                                     
                                                                                                     
            Первая ссылка из блока "nav"                       Первая ссылка из блока "nav"          
            Вторая ссылка из блока "nav"                       Вторая ссылка из блока "nav" 


Хотите "Страшный" вопрос?

Почему в этом коде:

     <section>
         <article>
            <h1>
               Заголовок статьи из блока "article"
            </h1>
            <p>
               Текст абзаца статьи из блока "article"
            </p>
            <details>
               <summary>
                  Блок "details", текст тега "summary"
               </summary>
               <p>
                  Абзац из блока "details"
               </p>
            </details>
         </article>
      </section>


Всё получится и без жадности?
6 слов.
7 май 19, 13:05    [21879830]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Дваевро все?
7 май 19, 14:10    [21879912]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 927
miltorg,
Ты опоздал лет так на 15 со своими регулярками.

Прям дивно как кто-то в вебе еще их пользует.
7 май 19, 16:39    [21880152]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Руслан Дамирович
miltorg,
Ты опоздал лет так на 15 со своими регулярками.

Прям дивно как кто-то в вебе еще их пользует.


Всё как раз наоборот. Раньше регулярки были только на Перле - теперь есть во всех языках.
Не пользоваться ими - непрофессионализм:

автор
Регэксп (moon. 正規表現, евр. рас. ביטוי רגולרי, он же RegExp, RegEx и ещё Регулярка, а обозначает оно Regular Expression(s)) — фича в языках программирования, позволяющая сократить 9000 строк кода до одной строчки непонятной х-ни.


http://lurkmore.to/RegExp
7 май 19, 17:18    [21880186]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 927
miltorg,
позволяющая сократить 9000 строк кода до одной строчки непонятной х-ни

Это ты регулярки перепутал с отказом от ООП.

Покажи мне "широкий" спектр задач, где без знания регулярок не стать хорошим программистом.

По итогу нишевая х-ня, которая и годится что втихаря тырить контент и легально парсить старые адресно-клиентские базы.
7 май 19, 19:25    [21880329]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Руслан Дамирович
miltorg,
позволяющая сократить 9000 строк кода до одной строчки непонятной х-ни

Это ты регулярки перепутал с отказом от ООП.

Покажи мне "широкий" спектр задач, где без знания регулярок не стать хорошим программистом.

По итогу нишевая х-ня, которая и годится что втихаря тырить контент и легально парсить старые адресно-клиентские базы.


Это не я. Это Лукр. Очень знаменитый сайт.

Искать и доказывать не хочется, Я специально каждый раз как буду пользовать регулярки - буду писать вам сюда.
7 май 19, 19:47    [21880351]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Руслан Дамирович
miltorg,
позволяющая сократить 9000 строк кода до одной строчки непонятной х-ни

Это ты регулярки перепутал с отказом от ООП.

Покажи мне "широкий" спектр задач, где без знания регулярок не стать хорошим программистом.

По итогу нишевая х-ня, которая и годится что втихаря тырить контент и легально парсить старые адресно-клиентские базы.


Недавно регулярки появились даже в HTML
7 май 19, 19:55    [21880358]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Руслан Дамирович
miltorg,
позволяющая сократить 9000 строк кода до одной строчки непонятной х-ни

Это ты регулярки перепутал с отказом от ООП.

Покажи мне "широкий" спектр задач, где без знания регулярок не стать хорошим программистом.

По итогу нишевая х-ня, которая и годится что втихаря тырить контент и легально парсить старые адресно-клиентские базы.


Вот например задача для регулярок:

https://www.sql.ru/forum/1312277/mozhno-li-massovo-modificirovat-xml-v-tablice
7 май 19, 20:04    [21880364]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
Программист 1с
Member

Откуда: Москва
Сообщений: 9121
miltorg
про жадность - ответ в 3 слова
miltorg
6 слов.
miltorg
Немного сумбурно, но я хочу услышать главное - 5 слов.
miltorg
Я думаю что ответы длиннее чем в 10 слов - малоинтересны.
И так раз 10.

Это диагноз?
7 май 19, 21:47    [21880419]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Программист 1с
miltorg
про жадность - ответ в 3 слова
miltorg
6 слов.
miltorg
Немного сумбурно, но я хочу услышать главное - 5 слов.
miltorg
Я думаю что ответы длиннее чем в 10 слов - малоинтересны.
И так раз 10.

Это диагноз?


Вас не учили в институте округлениям не сильно влияющим на результат? - Ваше образование оставляет желать лучшего - Это мой диагноз.
7 май 19, 22:15    [21880427]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
Руслан Дамирович
miltorg
Какие то у вас не каверзные вопросы. Вот я на одном форуме прочитал вопрос:

Какие ....мы языка вы знаете и используете?

Вот это вопрос, так вопрос. Я даже слово не запомнил. Но ответ вроде был:
переменные, функции, постоянные и ещё куча всего.

Ищу этот вопрос - не могу найти.

лексемы?


Почитал про Лексемы. - Проще вроде ответить на вопрос: Что не является лексемой языка?

А что не является?
17 май 19, 02:16    [21886741]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
miltorg
Руслан Дамирович
пропущено...

лексемы?


Почитал про Лексемы. - Проще вроде ответить на вопрос: Что не является лексемой языка?

А что не является?


Имя переменной?
Текст комментария?
17 май 19, 02:53    [21886746]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
miltorg
Member

Откуда: Калининград
Сообщений: 366
miltorg
miltorg
пропущено...


Почитал про Лексемы. - Проще вроде ответить на вопрос: Что не является лексемой языка?

А что не является?


Имя переменной?
Текст комментария?


Строка точно не является лексемой. А регулярное выражение - это вроде как лексема, хоть и в виде строки передаётся.

Блин. Зачем вся это хрень? Какое практическое значение кроме расшифровки ошибок?
17 май 19, 02:57    [21886747]     Ответить | Цитировать Сообщить модератору
 Re: Каверзные вопросы на собеседовании. Или просто тестируем друг-друга.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 58494
Блог
miltorg
Проще вроде ответить на вопрос: Что не является лексемой языка?

А что не является?

Да много что не является. Во-первых, лексемой не является последовательность символов, не являющаяся допустимой конструкцией языка - скажем, символы 123_АЯ_456 в традиционных ЯП лексемой не являются. Во-вторых, лексемами не являются выражения, операторы, определения функций, программы в целом и другие составные конструкции. В качестве эвристики годится следующий подход: лексемами являются те конструкции, которые легко и просто вычленяются с помощью регулярных выражений, и не являются те, которые регулярными выражениями вычленяются сложно либо не вычленяются вовсе.

miltorg
Блин. Зачем вся это хрень? Какое практическое значение кроме расшифровки ошибок?

А вот для ответа на этот вопрос нужно хотя бы минимальное программистское образование. При отсутствии такового сгодится прочитать и понять "Книгу дракона".
17 май 19, 03:12    [21886748]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
Все форумы / Работа Ответить