powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Потестировался на InterviewMocha. Но пасаран.
11 сообщений из 11, страница 1 из 1
Потестировался на InterviewMocha. Но пасаран.
    #39976002
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Вчера насильно тестировался на InterviewMocha (имеется ввиду потенциальный работадатель заставил). Нужно было написать алгоритм для решения квадратного уравнение и выписать красиво результаты. Неожиданно не смог запустить на выполнение: Exit code 1.

Вот код

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
using System;
namespace ConcoleApp1
{
    public class QEClass
    {
        public double a;
        public double b;
        public double c;
        public QEClass(double _a, double _b, double _c)
        {
            a = _a;
            b = _b;
            c = _c;
        }

        public string Resolve(int sign)
        {
            string iota = "";
            string result = (-b / (2.0 * a)).ToString("F2");
            double d = b * b + sign * 4 * a * c;
            if (d < 0) { iota = "i"; d = -d; }
            d = System.Math.Sqrt(d) / (2 * a);

            return String.Concat(result,
                        (sign > 0) ? "+" : "-", d.ToString("F2"), iota);
        }

    }

    class Program
    {
        static void Main(string[] args)
        {
            QEClass calculator = new QEClass(5, 3, 2);
            string s = String.Concat(calculator.Resolve(+1),
            " ",
            calculator.Resolve(-1));
            Console.WriteLine(s);
            Console.ReadKey();
        }

    }

}



В выделенной строке если пишу 5.ToString("F5"), все работает. Но если пишу
(5.666).ToString("F2"); или b.ToString("F2");

Не работает с сообщением Exit Code 1.

Тот же код в Visual Studio 2015 (C# 6.0) работает без проблем.
В чем может быть причина?

Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39976049
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слать такого работодаталя, который не понимает, что подобные студенческие домашнии задания вообще ничего не показывают. А тут ты еще и говнокод какой-то написал.
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39976188
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Жаль, что кроме оффтопа никто ничего говорит. А насчет теста - очень даже показывает. Он показывает как человек решает задачу. Простую задачу извлечения корня с говнокодом за 20 мин. При этом возникает непонятная проблема, которую надо решить несмотря на тривиальность задания, необыкновенный кругозор тестируемого и претензии на философскую рефлексию в области архитектурных проектов.
Вот для чего нужен этот тест. Просто и эффективно на начальном этапе. И если ты даже б не пошел к такому работодателю, как ты говоришь, это значит, что тест сделал свое дело. Он отсеял гения в пользу того, кто может get things done (по-английски, будет более точно).
Лет 20 назад, работая в России, я гениев на работу не брал. 90% они бесполезны.
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39976214
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renziglov,

В отладчике не пробовали запускать?
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39976229
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renziglov

А насчет теста - очень даже показывает. Он показывает как человек решает задачу.

Понимаешь ли, я 15 лет занимаюсь разработкой профессионально, и знаю, что написание нормального "промышленного кода" очень отличается от написания кода просто решающего задачу.

Renziglov

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

Тест тогда сделал бы свое дело - уберег бы меня от работы с очередной говноконторой.

Renziglov

Лет 20 назад, работая в России, я гениев на работу не брал. 90% они бесполезны.

Твой неработающий говнокод даже для уровня говнокодера ужасен, не то что для "гения".

Renziglov
Жаль, что кроме оффтопа никто ничего говорит.

За говнокодерами быстрее самому переделать, чем в их залежах разбираться.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
if(a == 0)
{
    Console.Error.WriteLine("Это вообще не квадратное уравнение.");
    return;
}

// дискриминант
var d = b * b - 4 * a * c;

if(d < 0)
{
   // дискриминант отрицательный - нет корней
   Console.WriteLine("Вещественных корней нет.");
}
else if(d == 0)
{
    // дискриминант нулевой - один корень
    var x = -b / (2 * a);
    Console.WriteLine("Один вещественный корень: {0}.", x);
}
else
{
    // дискриминант положительный - два корня
    var sqrtD = Math.Sqrt(d);
    var x1 = (-b - sqrtD) / (2 * a);
    var x2 = (-b + sqrtD) / (2 * a);
    Console.WriteLine("Два вещественных корня: {0}, {1}.", Math.Min(x1, x2), Math.Max(x1, x2));
}
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39981961
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

В отладчике можно было запустить. Но эта сукина кошка Codility следит за копи-пэйстами и сразу снижает баллы.
У меня был другой компьютер рядом, я стал набивать задание туда в Visual Studio и потерял время.

В тесте нельзя было даже вставлять новые строки кода. Хороший тест на ловкость и умение жонглировать булавами. В городе, где я живу, программистов туча, но жонглеров среди них... наверное есть парочка. Я не из их числа.
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39982047
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renziglov,

Ну и забейте тогда. Это тест не на умение программировать, а умение страдать нафиг никому не нужной фигнёй.
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39982096
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше решите задачу вычислительным методом
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39982914
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Это тест не на умение программировать, а умение страдать нафиг никому не нужной фигнёй.

Вот отож. Чел. на интервью успешно пишет три разных метода сортировки пузырьком, а потом в первый же день работы выясняется, что он даже про работу с контролем версий в жизни никогда раньше не слышал. В позапрошом месяце послал в квадратный трехчлен полдюжины таких контор.
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39983260
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Renziglov

А насчет теста - очень даже показывает. Он показывает как человек решает задачу.

Понимаешь ли, я 15 лет занимаюсь разработкой профессионально, и знаю, что написание нормального "промышленного кода" очень отличается от написания кода просто решающего задачу.

Renziglov

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

Тест тогда сделал бы свое дело - уберег бы меня от работы с очередной говноконторой.

Renziglov

Лет 20 назад, работая в России, я гениев на работу не брал. 90% они бесполезны.

Твой неработающий говнокод даже для уровня говнокодера ужасен, не то что для "гения".

Renziglov
Жаль, что кроме оффтопа никто ничего говорит.

За говнокодерами быстрее самому переделать, чем в их залежах разбираться.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
if(a == 0)
{
    Console.Error.WriteLine("Это вообще не квадратное уравнение.");
    return;
}

// дискриминант
var d = b * b - 4 * a * c;

if(d < 0)
{
   // дискриминант отрицательный - нет корней
   Console.WriteLine("Вещественных корней нет.");
}
else if(d == 0)
{
    // дискриминант нулевой - один корень
    var x = -b / (2 * a);
    Console.WriteLine("Один вещественный корень: {0}.", x);
}
else
{
    // дискриминант положительный - два корня
    var sqrtD = Math.Sqrt(d);
    var x1 = (-b - sqrtD) / (2 * a);
    var x2 = (-b + sqrtD) / (2 * a);
    Console.WriteLine("Два вещественных корня: {0}, {1}.", Math.Min(x1, x2), Math.Max(x1, x2));
}


При а=0 это квадратное уравнение, вырожденное в линейное :)
...
Рейтинг: 0 / 0
Потестировался на InterviewMocha. Но пасаран.
    #39983263
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
лучше решите задачу вычислительным методом

Это наиболее естественное решение для "компутера". И гораздо более интересное с точки зрения посмотреть на "алгоритмы"
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Потестировался на InterviewMocha. Но пасаран.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]