Javascript как задать вопрос

Взаимодействие с пользователем: alert, prompt, confirm

В этом разделе мы рассмотрим базовые UI операции: alert , prompt и confirm , которые позволяют работать с данными, полученными от пользователя.

alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК».

Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».

Функция prompt принимает два аргумента:

Она выводит модальное окно с заголовком title , полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.

Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.

Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null , если ввод отменён.

Единственный браузер, который не возвращает null при отмене ввода – это Safari. При отсутствии ввода он возвращает пустую строку. Предположительно, это ошибка в браузере.

Если нам важен этот браузер, то пустую строку нужно обрабатывать точно так же, как и null , т.е. считать отменой ввода.

Как и в случае с alert , окно prompt модальное.

Второй параметр может отсутствовать. Однако при этом IE вставит в диалог значение по умолчанию «undefined» .

Запустите этот код в IE, чтобы понять о чём речь:

Поэтому рекомендуется всегда указывать второй аргумент:

confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.

Результатом будет true при нажатии OK и false – при CANCEL( Esc ).

Особенности встроенных функций

Конкретное место, где выводится модальное окно с вопросом – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять.

С одной стороны – это недостаток, так как нельзя вывести окно в своем, особо красивом, дизайне.

С другой стороны, преимущество этих функций по сравнению с другими, более сложными методами взаимодействия, которые мы изучим в дальнейшем – как раз в том, что они очень просты.

Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.

Взаимодействие с пользователем: alert, prompt, confirm

В этом разделе мы рассмотрим базовые UI операции: alert , prompt и confirm , которые позволяют работать с данными, полученными от пользователя.

alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК».

Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».

Функция prompt принимает два аргумента:

Она выводит модальное окно с заголовком title , полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.

Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.

Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null , если ввод отменён.

Единственный браузер, который не возвращает null при отмене ввода – это Safari. При отсутствии ввода он возвращает пустую строку. Предположительно, это ошибка в браузере.

Если нам важен этот браузер, то пустую строку нужно обрабатывать точно так же, как и null , т.е. считать отменой ввода.

Как и в случае с alert , окно prompt модальное.

Второй параметр может отсутствовать. Однако при этом IE вставит в диалог значение по умолчанию «undefined» .

Запустите этот код в IE, чтобы понять о чём речь:

Поэтому рекомендуется всегда указывать второй аргумент:

confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.

Результатом будет true при нажатии OK и false – при CANCEL( Esc ).

Особенности встроенных функций

Конкретное место, где выводится модальное окно с вопросом – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять.

С одной стороны – это недостаток, так как нельзя вывести окно в своем, особо красивом, дизайне.

С другой стороны, преимущество этих функций по сравнению с другими, более сложными методами взаимодействия, которые мы изучим в дальнейшем – как раз в том, что они очень просты.

Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.

Взаимодействие с пользователем: alert, prompt, confirm

В этом разделе мы рассмотрим базовые UI операции: alert , prompt и confirm , которые позволяют работать с данными, полученными от пользователя.

alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК».

Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».

Функция prompt принимает два аргумента:

Она выводит модальное окно с заголовком title , полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.

Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.

Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null , если ввод отменён.

Единственный браузер, который не возвращает null при отмене ввода – это Safari. При отсутствии ввода он возвращает пустую строку. Предположительно, это ошибка в браузере.

Если нам важен этот браузер, то пустую строку нужно обрабатывать точно так же, как и null , т.е. считать отменой ввода.

Как и в случае с alert , окно prompt модальное.

Второй параметр может отсутствовать. Однако при этом IE вставит в диалог значение по умолчанию «undefined» .

Запустите этот код в IE, чтобы понять о чём речь:

Поэтому рекомендуется всегда указывать второй аргумент:

confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.

Результатом будет true при нажатии OK и false – при CANCEL( Esc ).

Особенности встроенных функций

Конкретное место, где выводится модальное окно с вопросом – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять.

С одной стороны – это недостаток, так как нельзя вывести окно в своем, особо красивом, дизайне.

С другой стороны, преимущество этих функций по сравнению с другими, более сложными методами взаимодействия, которые мы изучим в дальнейшем – как раз в том, что они очень просты.

Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.

Javascript как задать вопрос

Недавно мне довелось побывать на встрече участников проекта FreeCodeCamp в Сан-Франциско. Если кто не знает, Free Code Camp — это сообщество, нацеленное на изучение JavaScript и веб-программирования. Там один человек, который готовился к собеседованиям на позицию фронтенд-разработчика, попросил меня подсказать, какие вопросы по JavaScript стоит проработать. Я немного погуглил, но не смог найти подходящего списка вопросов, на который я бы мог дать ссылку и сказать: «Разбери эти вопросы и работа твоя». Некоторые списки были близки к тому, что мне хотелось найти, некоторые выглядели очень уж простыми, но все они были либо неполными, либо содержали вопросы, которые вряд ли кто станет задавать на реальном собеседовании.

В итоге я решил составить собственный список. В него входят и те вопросы, которые задавали мне, когда я искал работу, и те, которые задавал я, когда искал сотрудников на позиции фронтенд-разработчиков. Обратите внимание на то, что некоторые компании (вроде Google) уделяют особое внимание таким вещам, как проектирование эффективных алгоритмов. Поэтому, если вы хотите в подобной компании работать, в дополнение к приведённым тут вопросам, порешайте задачки с соревнований CodeJam.

Я буду добавлять и редактировать ответы на эти вопросы здесь. Если у вас возникнет желание что-нибудь дополнить или улучшить — буду рад вашим пулл-реквестам.

Вопросы разбиты на несколько разделов:

  • Теория.
  • Программирование.
  • Отладка.
  • Проектирование систем.

Итак, вот мои вопросы.

Интервьюируемый должен обладать чётким пониманием концепций, которые затрагивают вопросы из этого раздела, должен уметь всё это объяснить. Программирование тут не требуется.

  1. Что такое нотация «О-большое» и как ей пользоваться?
  2. Что такое DOM?
  3. Что такое цикл событий?
  4. Что такое замыкание?
  5. Как работает прототипное наследование и чем оно отличается от классической модели наследования? (По моему мнению, это не особенно полезный вопрос, но многим нравится его задавать.)
  6. Как работает ключевое слово this ?
  7. Что такое всплытие событий и как работает этот механизм? (Мне этот вопрос тоже не нравится, но его часто задают на собеседованиях.)
  8. Опишите несколько способов обмена данными между клиентом и сервером. Расскажите, не вдаваясь в подробности, о том, как работают несколько сетевых протоколов (IP, TCP, HTTP/S/2, UDP, RTC, DNS, и так далее).
  9. Что такое REST и почему эта технология популярна?
  10. Мой сайт тормозит. Расскажите о шагах по его диагностированию и исправлению. Опишите популярные подходы к оптимизации, и расскажите о том, когда их следует использовать.
  11. Какими фреймворками вы пользовались? Каковы их сильные и слабые стороны? Почему программисты пользуются фреймворками? Проблемы какого рода решают фреймворки?

Программирование

Ответы на эти вопросы предполагают реализацию функций на JavaScript. За каждым вопросом следуют тесты, которые должно успешно проходить решение.

▍Простые задания

    Реализуйте функцию isPrime() , которая возвращает true или false , указывая, является ли переданное ей число простым.

Реализуйте функцию factorial() , которая возвращает факториал переданного ей числа.

Реализуйте функцию fib() , возвращающую n-ное число Фибоначчи.

Реализуйте функцию isSorted() , которая возвращает true или false в зависимости о того, отсортирован ли переданный ей числовой массив.

Создайте собственную реализацию функции filter() .

Создайте собственную реализацию функции reduce() .

Реализуйте функцию reverse() , которая обращает порядок следования символов переданной ей строки. Не пользуйтесь встроенной функцией reverse() .

Создайте собственную реализацию функции indexOf() для массивов.

Реализуйте функцию isPalindrome() , которая возвращает true или false в зависимости от того, является ли переданная ей строка палиндромом (функция нечувствительна к регистру и к наличию в строке пробелов).

Реализуйте функцию missing() , которая принимает неотсортированный массив уникальных чисел (то есть, числа в нём не повторяются) от 1 до некоего числа n, и возвращает число, отсутствующее в последовательности. Там может быть либо одно отсутствующее число, либо их может не быть вовсе.

Способны ли вы добиться того, чтобы функция решала задачу за время O(N)? Подсказка: есть одна хорошая формула, которой вы можете воспользоваться.

Реализуйте функцию i sBalanced() которая принимает строку и возвращает true или false , указывая на то, сбалансированы ли фигурные скобки, находящиеся в строке.

▍Задания средней сложности

    Реализуйте функцию fib2() . Она похожа на функцию fib() из предыдущей группы заданий, но поддерживает числа вплоть до 50. Подсказка: используйте мемоизацию.

Реализуйте функцию isBalanced2() . Она похожа на функцию isBalanced() из предыдущей группы заданий, но поддерживает три типа скобок: фигурные <> , квадратные [] , и круглые () . При передаче функции строки, в которой имеются неправильные скобочные последовательности, функция должна возвращать false .

Реализуйте функцию uniq() , которая принимает массив чисел и возвращает уникальные числа, найденные в нём. Может ли функция решить эту задачу за время O(N)?

Реализуйте функцию intersection() , которая принимает два массива и возвращает их пересечение. Можете ли вы добиться того, чтобы функция решала эту задачу за время O(M+N), где M и N — длины массивов?

Создайте реализацию функции sort() , которая сортирует числовой массив за время O(N×log(N)).

Реализуйте функцию includes() , которая возвращает true или false в зависимости от того, встречается ли переданное ей число в переданном ей отсортированном массиве. Может ли функция решить эту задачу за время O(log(N))?

Реализуйте функцию assignDeep() , которая похожа на Object.assign() , но выполняет глубокое объединение объектов. Для того, чтобы не усложнять задачу, можно исходить из допущения, что объекты могут содержать только числа и другие объекты (в них не может быть массивов, строк, и так далее).

Реализуйте функцию reduceAsync() , которая похожа на функцию reduce() из группы простых заданий, но работает с функциями, возвращающими promise-объекты, каждый из которых должен быть разрешён до перехода к следующему.

Реализуйте функцию seq() , пользуясь тем же подходом, что и при работе над функцией reduceAsync() . Эта функция должна принимать массив функций, которые возвращают promise-объекты, и разрешать их один за другим.

▍Сложные задания

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

    Реализуйте функцию permute() , которая возвращает массив строк, содержащий все пермутации заданной строки.

Создайте самостоятельную реализацию функции debounce() .

Реализуйте класс LinkedList , не используя встроенные массивы JavaScript ( [] ). Ваш LinkedList должен поддерживать лишь 2 метода: add() и has() .

Реализуйте класс HashMap , не используя встроенные объекты JavaScript ( <> ) или функцию map() . Вам дана функция hash() , которая принимает строку и возвращает некое число. Эти числа, в основном, уникальны, но возможна и ситуация, когда двум разным строкам соответствуют одинаковые числа.

Ваша реализация HashMap должна поддерживать лишь 2 метода: get() и set() .

Реализуйте класс BinarySearchTree . Он должен поддерживать 4 метода: add() , has() , remove() , и size() .

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

При ответе на следующие вопросы сначала постарайтесь понять, почему представленный код не работает. Объясните причину ошибки. Затем предложите пару вариантов исправления проблемы и перепишите код, реализуя один из предложенных вариантов. В итоге программа должна работать правильно.

    Необходимо, чтобы этот код выводил в лог hey amy , но он выводит hey arnold . Почему?

Необходимо, чтобы этот код выводил в лог числа 0, 1, 2, 3 в указанном порядке, но он этого не делает (Однажды вы столкнётесь с этой ошибкой. Некоторые люди любят задавать этот вопрос на собеседованиях).

Необходимо, чтобы этот код выводил в лог doggo , но он выводит лишь undefined .

Попытка вызова метода bark() объекта Dog вызывает ошибку. Почему?

Почему функция isBig() возвращает именно такой результат?

Проектирование систем

Если вы не уверены, что знаете, что такое «проектирование систем», сначала почитайте это.

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

    Как бы вы спроектировали клиентскую часть системы, которая поддерживает следующие возможности:

  • Получение данных с применением серверного API.
  • Вывод результатов в виде дерева, когда у элементов могут быть родительские и дочерние элементы, то есть, подсказки автозаполнения — это не обычный плоский список.
  • Поддержка, помимо обычных текстовых фрагментов, элементов разных типов: флажков, радиокнопок, иконок.

  • Как выглядит API компонента?
  • Как выглядит серверное API?
  • Какие соображения, касающиеся производительности, нужно учитывать для того, чтобы виджет работал в режиме реального времени, выводя подсказки по мере ввода данных пользователем? Есть ли здесь какие-нибудь пограничные случаи (например, когда пользователь вводит текст быстро при медленном сетевом соединении)?
  • Как бы вы спроектировали сетевую подсистему и серверную часть высокопроизводительного решения такого рода? Как организовали бы взаимодействие клиента и сервера? Как данные хранятся на сервере? Как всё это масштабируется для поддержки больших объёмов данных и большого количества клиентов?
  • 2. Расскажите о реализации сервиса, подобного Twitter, описав клиентскую и серверную части (этот вопрос бессовестно украден у моего друга Майкла Ву).

    • Как твиты загружаются с сервера и выводятся в пользовательском интерфейсе?
    • Как, при обновлении твитов, обновляется лента? Как клиентская часть приложения узнаёт о появлении новых твитов?
    • Как выполняется поиск по твитам? Как организован поиск по автору? Расскажите о том, как спроектирована база данных, серверная часть приложения и API.

    Надеемся, эти вопросы пригодятся и тем, кто собирается на собеседования, и тем, кто их проводит. А если вы не относитесь ни к тем, ни к другим, полагаем, вопросы помогут вам поддерживать себя в хорошей программистской форме.

    Вот, кстати, ещё несколько мест, куда можно заглянуть, если вам хочется попрактиковаться: The Algorithm Design Manual, задачи с соревнований CodeJam, репозиторий keon/algorithms. А вот — несколько ресурсов, которые будут полезны JS-разработчикам: JavaScript Allonge, You Don’t Know JS, Effective JavaScript.

    Уважаемые читатели! Если у вас есть на примете вопросы, которые, по вашему мнению, стоит добавить в этот список (или если вы обнаружите ошибку) — расскажите нам и напишите автору этого материала.

    Что спрашивают на собеседование на javascript разработчика (Junior/Trainee)?

    Добрый день.
    Работаю верстальщиком в небольшом городе (400к) в дочернем офисе, головной офис в Мск.

    Потихоньку изучал js, в основном learnjavascript и ютуб.

    В начале апреля меня будет собеседовать наш же js разработчик из Москвы, чтобы просто проверить мои знания, так как вопрос о принятии на работу не стоит, скорее просто увеличат премию и просто проверяют видимо расту ли я в скилле или нет
    Не хочется ударить в грязь лицом и еще есть 2 недели, чтобы усиленно что-то повторить.

    Вопрос такой, что примерно могут спросить js junior’а?

    Никто насиловать меня не будет, потому что свои же и все понимают что я приходил на верстку без опыта, но всё же.

    • Вопрос задан 16 марта
    • 5182 просмотра

    Вёрстка + js + Junior = это хорошее владение Jquery в 90% случаев.
    Дополнительно: уметь писать свою функцию Jquery и свой плагин Jquery.
    Т.е., работать с ним — Вы должны максимально свободно.

    Если говорить про «чистый» js (помимо очередей, массивов, рекурсий, сортировок): уметь корректно создать нужный класс и использовать. Всё, что сложнее по архитектуре — уже выше Junior’а.

    Лучше всего, если Вы подготовите к собеседованию пару-тройку упрощающих разработку js-файликов (функция, или библиотека своя, или Jquery-плагин и т.д.), которые сможете применять в дальнейшей работе многократно и покажете эти разработки на github’е (ну и про DEMO — тоже не забыть сделать).

    PS: Список ресурсов по обучению Javascript: здесь

    Какие вопросы на собеседовании ожидать по JS?

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

    Но сейчас уже кажется элементарным и понятным.
    Или такой тоже может запутать неподготовленный моск:

    Андрей: возможно как-то катну, если оформлю нормально. Я еще один файлик чуть позже завел, где отвечаю на практические вопросы которые где-то вычитал) Из примерчиков:

    Но самые непонятные обычно теоретически все-таки. И по спекам всяких Date() и прочего хлама.

    Антон Мудренок: Да уж, много избыточности на мой взгляд, которая не нужна для решения 99% задач. Я исповедую принцип необходимости и достаточности.

    У меня возникла идея — надо будет как-нибудь задачек напостить на кодеварс и сходные ресурсы. 🙂 А то там всякая абстрактная алгоритмистика, а надо бы поближе к боевым реалиям.

    Андрей: как сказать. Я определенное время писал на js и бед не знал. Потом, на codewars как раз, попалась задачка написать декоратор с определенным функционалом. Помню я нормально так прифигел, понял что js не знаю, задачку решил и пошел читать Кайла Симпсона)

    В целом эта избыточность и понимание языка помогает найти загадочный баг в 10-200 раз быстрее обычного.

    Андрей: мой /users/mudrenok правда я с тех пор, как мне попалась та задачка — больше там не тусил)) Перешел на codepen для отвода души =)

    Коварные вопросы, говорите?

    1. Какое из нововведений es6 принципиально не полифилится в es5? Почему? (И на какой черт оно вообще нужно, вдогонку). (И я бы заодно вдогонку попросил набросать полифил какой-то из фичей, например, this в arrow function).

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

    3. Почему до es5.1 включительно typeof null === «object»?

    4. Что на самом деле произойдет, если вы напишите

    5. Аналог второго вопроса, но все же: с чем, по вашему мнению, могла быть связана бага в одной из версий хрома, приводящая к следующему результату:

    6. Какие вы знаете способы заставить js произвести несколько операций одновременно (буквально, за такт)?

    7. Сработает ли documeny.onready, если скрипт загружать с аттрибутом async? В каких случаях и когда именно он сработает?

    8. Что можно и что нельзя делать в событии document.beforeunload?

    Но, справедливости ради, эти вопросы даже не на мидла, некоторые из них не сколько каверзные, сколько упоротрые и если их вам зададут — следует задуматься в адекватности компании.

    Не слишком сложные вопросы, а упоротые.
    Например: на вопрос 2 ответ — какие-то сакральные знания, передающиеся от сенсея к ученику. Это не документировано, мало кто знает, да и может меняться. Да, одно из условий очевидно — типы параметров вызова функции не должны меняться (иначе толку то компилировать, если каждый раз вызывается с разными типами аргументов), то два других не настолько очевидны. Если то, что функция должна быть вызвана n раз минимум, иначе большой шанс, что она будет вызвана вообще только один раз, еще можно догадаться, но прям с трудом (n = 100, к слову), то что v8 не компилирует функции с try-catch ты либо знаешь, либо нет.

    3. Опять из серии «знаешь ли ты». Старая байка, наравне «почему . вначале имени файла в линуксе скрывает этот файл». Хотя знать саму эту особенность нужно.

    6. Честные методы (он один: SIMD) — гипернераспространены, да еще поддержка в зачаточном состоянии, web-assembly — еще более плохая поддержка, да и вопрос же был про js, а веб-воркеры не гарантируют одновременного выполнения (более того, они почти наверное выполнятся последовательно, но не известно в каком порядке). А другие методы вообще странные (хотя понапридумывать можно). Хотя как подумать и пофантазировать вопрос не такой уж плохой.

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

    В итоге такие вопросы мало раскроют человека как специалиста, лишь покажут — натыкался ли он на что-то из этого случайно в процессе работы или нет.

    Это интересно:

    • Порядок уплаты алиментов родителям Алименты с детей на содержание пожилых родителей Вопрос: Должны ли дети платить алименты родителям? Ответ: Да, обязаны! Статья 87 Семейного кодекса гласит: «Трудоспособные совершеннолетние дети обязаны содержать своих […]
    • Авансовые платежи ндфл ип 2018 НДФЛ для ИП на разных системах налогообложения в 2018 году Налог на доходы физических лиц (НДФЛ) — это основной вид прямых налогов. НДФЛ исчисляется в процентах (от совокупного дохода физических лиц за вычетом документально […]
    • Ст 159 ч4 ук рф Может ли осужденный по ст 159 ч 4 перевестись в колонию поселения? Здравствуйте! Мой муж осужден по ст 159, ч 4, общий режим на срок 5 лет. Отсидел 1 год и 1 мес. Скажите пожалуйста, возможно ли перевестись в колонию поселение, […]
    • Договор купли-продажи автомобиля бланк консультант Договор купли-продажи автомобиля Наш сайт "Договоры Всем" представляет вашему вниманию документ, на основании которого вы сможете заключить сделку о покупке или продаже автомобиля. Сотрудничая с нами, вы можете получить […]
    • Претензия возврате долга Письмо о погашении задолженности Между субъектами экономических отношений нередко возникают такие ситуации, когда одна компания является должником по отношению к другой. Согласно нашему российскому законодательству, все […]
    • Гк рф ст 723 п 3 Статья 723. Ответственность подрядчика за ненадлежащее качество работы 1. В случаях, когда работа выполнена подрядчиком с отступлениями от договора подряда, ухудшившими результат работы, или с иными недостатками, которые делают […]
    • Оформление дарственной доли квартиры Перечень документов для оформления дарения доли квартиры в 2018 году + инструкции где их получить Статья обновлена: 18 апреля 2018 г. В этой статье мы перечислили документы для оформления дарения доли в квартире. Также есть […]
    • Алименты и вычеты на детей Имеет ли право на "детский" вычет по НДФЛ родитель, уплачивающий алименты Родителю и его супругу, на обеспечении которых находится ребенок в возрасте до 18 лет (а если учится - до 24 лет), при удержании из их доходов НДФЛ […]