• 0.00

  • +0.42

Список недобросовестных работодателей

Интересно, а есть среди работодателей недобросовестные!? Или в этой сфере такого не бывает? Слышал, что дают тестовые задания, принимают эти решения, используют их в своих проектах, а тем, кто написал решения этих тестовых заданий — просто отказывают.
Ну это кроме всяких задержек зарплаты и прочего, что есть везде.
Интересует существуют ли такой список где-то здесь или ещё на каких сайтов айтишников.

Пока, собственно интересует Санкт-Петербург. Просто уже месяца два или три периодически мониторю вакансии в этом городе, и уже несколько месяцев висят вакансии одних и тех же фирм. Вот, странно, чего это они там висят!? То ли вакансии липовые, то ли там так хреново, что никто не остаётся надолго, то ли у самой фирмы слишком запредельные требования… странно…

Что такое мьютекс и что такое монитор?

Задался вопросом понять, что есть что. Так как в разных источниках по-разному используют эти термины. И часто даже бывает, что в одной статье что-либо, например, кусок кода, называют монитором, в другой — это называют мьютексом (и бывает наоборот — объект, связанный с данным, и отвечающий на синхронизацию нитей, называют то мьютексом, то монитором). Вот и хочу разобраться, что есть что. (могу, конечно, привести множество цитат из этих источников, где употребляются эти термины, но думаю, это будет избыточно.)
  • ,

level22.lesson05.task01 (task2202) - работает, не проходит проверку - РЕШЕНО

Условие задачи:

Найти подстроку
Метод getPartOfString должен возвращать подстроку начиная с символа после 1-го пробела и до конца слова,
которое следует после 4-го пробела.

Пример:
«JavaRush — лучший сервис обучения Java.»

Результат:
«— лучший сервис обучения»

На некорректные данные бросить исключение TooShortStringException (сделать исключением).

Требования:
1. Класс TooShortStringException должен быть потомком класса RuntimeException.
2. Метод getPartOfString должен принимать строку в качестве параметра.
3. В случае, если строка, переданная в метод getPartOfString содержит менее 4 пробелов должно возникнуть исключение TooShortStringException.
4. Метод getPartOfString должен возвращать подстроку начиная с символа после 1-го пробела и до конца слова, которое следует после 4-го пробела.
Мой код:
package com.javarush.task.task22.task2202;

/* 
Найти подстроку
*/
public class Solution {
    public static void main(String[] args) {
        System.out.println(getPartOfString("JavaRush - лучший сервис обучения Java."));
        System.out.println(getPartOfString("JavaRush - лучший сервис обучения."));
        System.out.println(getPartOfString("JavaRush - лучший сервис."));

    }

    public static String getPartOfString(String string) throws TooShortStringException {
        int index = 0;
        /*for (int i = 0, j = 0; i < 4; i++) {
            index = string.indexOf(' ',j);
            if (index < 0) throw  new TooShortStringException();
            j = index + 1;
        }*/
        int count = 0, j = 0;
        while (true) {
            index = string.indexOf(' ',j);
            if (index < 0) break;
            else count++;
            if (count == 4) break;
            j = index + 1;
        }
        //if (count < 4) throw new TooShortStringException();
        int i = index + 1;
        while (!string.substring(i,i+1).matches("^(\\p{Punct}| )$")) {
            i++;
        }
        try {
            String result = string.substring(string.indexOf(' ') + 1, i);
            return result;
        } catch (Exception e) {
            throw new TooShortStringException();
        }
    }

    public static class TooShortStringException extends RuntimeException {
    }
}
  • ,

level14.lesson08.home06 - не проходит проверку

Сама программа работает, но проверку не проходит.
Вот условие:

MovieFactory

Расширение функционала по аналогии, чтение с консоли:

1. Разобраться, что программа умеет делать.

2. Все классы должны быть внутри класса Solution.

3. Добавить классы Cartoon, Thriller.

4. Разобраться, как мы получаем объект класса SoapOpera по ключу «soapOpera«.

Аналогично получению объекта SoapOpera сделать:

5. Добавить в MovieFactory.getMovie получение объекта Cartoon для ключа «cartoon«.

6. Добавить в MovieFactory.getMovie получение объекта Thriller для ключа «thriller«.

7. Считать с консоли несколько ключей (строк).

7.1. Ввод заканчивается, как только вводится строка не совпадающая с одной из: «cartoon«, «thriller«, «soapOpera«.

8. Создать переменную movie класса Movie и для каждой введенной строки(ключа):

8.1. Получить объект используя MovieFactory.getMovie и присвоить его переменной movie.

8.2. Вывести на экран movie.getClass().getSimpleName().

Вот мой код:

package com.javarush.task.task14.task1414;

/* 
MovieFactory
*/

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws Exception {
        //ввести с консоли несколько ключей (строк), пункт 7

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String key;
        Movie movie;
        while (true) {
            key = reader.readLine();
            if ("cartoon".equals(key) || "thriller".equals(key) || "soapOpera".equals(key)) {
            //if(!key.equals("cartoon") && !key.equals("thriller") && !key.equals("soapOpera") )
            //{break;}
                movie = MovieFactory.getMovie(key);
                System.out.println(movie.getClass().getSimpleName());

            } else break;
        }

        /*
8 Создать переменную movie класса Movie и для каждой введенной строки(ключа):
8.1 получить объект используя MovieFactory.getMovie и присвоить его переменной movie
8.2 вывести на экран movie.getClass().getSimpleName()
        */

    }

    static class MovieFactory {

        static Movie getMovie(String key) {
            Movie movie = null;

            //создание объекта SoapOpera (мыльная опера) для ключа "soapOpera"
            if ("soapOpera".equals(key)) {
                movie = new SoapOpera();
            }

            //напишите тут ваш код, пункты 5,6
            if ("cartoon".equals(key)) {
                movie = new Cartoon();
            }

            if ("thriller".equals(key)) {
                movie = new Thriller();
            }

            return movie;
        }
    }

    static abstract class Movie {
    }

    static class SoapOpera extends Movie {
    }

    //Напишите тут ваши классы, пункт 3
    static class Cartoon extends Movie {
    }

    static class Thriller extends Movie {
    }

}


В валидации написано, что ошибка в следующем: «Для каждой введенной строки необходимо вызвать метод MovieFactory.getMovie».
Остальное всё ОК, а именно следующее:
  • Классы Cartoon и Thriller должны быть статическими и существовать внутри класса Solution.
  • Метод MovieFactory.getMovie должен возвращать объект типа Cartoon в случае передачи ему строки «cartoon» в качестве параметра.
  • Метод MovieFactory.getMovie должен возвращать объект типа Thriller в случае передачи ему строки «thriller» в качестве параметра
  • Метод main должен считывать строки с клавиатуры.
  • Метод main должен прекращать считывать строки с клавиатуры в случае, если была введена некорректная строка(не «cartoon», не «thriller» или не «soapOpera»).
  • Для всех введенных корректных строк необходимо вывести на экран простые имена(movie.getClass().getSimpleName()) типов объектов возвращаемых методом MovieFactory.getMovie.
  • ,

level13.lesson11.home03 - не проходит проверку

Программа работает, но не проходит проверку. Условие задачи:
  1. Считать с консоли имя файла.
  2. Вывести в консоль(на экран) содержимое файла.
  3. Не забыть освободить ресурсы. Закрыть поток чтения с файла и поток ввода с клавиатуры.

Вот мой код:

package com.javarush.task.task13.task1318;

import java.io.*;

/*
Чтение файла
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        // напишите тут ваш код
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String fileName = reader.readLine();

        InputStream fis = new FileInputStream(fileName);

        while (fis.available() > 0) {
            System.out.print((char)fis.read());
        }
        fis.close();
        reader.close();

    }
}
  • ,

Как оформить подписку на два месяца?

Здравствуйте. Как оформить подписку на два месяца? не на 1 месяц, не на 1 год, а на два месяца. Оформил на 1 месяц (обычный премиум), но дальше ничего нельзя сделать в плане подписок — только оформить ещё премиум про.
Общался с техподдержкой сайта — мне сказали, что нужно платить подряд несколько раз за месяц, чтобы получить подписку на несколько месяцев. Но как я написал, у меня это не получается сделать. Задал им этот вопрос, пока ещё не ответили.
  • ,

level09.lesson11.home09 - не проходит проверку - РЕШЕНО

Здравствуйте. Решил эту задачу, но на сервере она не проходит проверку.
Условие задачи:
Есть класс кот – Cat, с полем «имя» (String).
Создать словарь Map<string, cat=""> и добавить туда 10 котов в виде «Имя»-«Кот».
Получить из Map множество(Set) всех котов и вывести его на экран.
package com.javarush.task.task09.task0927;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/* 
Десять котов
*/

public class Solution {
    public static void main(String[] args) {
        Map<String, Cat> map = createMap();
        Set<Cat> set = convertMapToSet(map);
        printCatSet(set);
    }

    public static Map<String, Cat> createMap() {
        //напишите тут ваш код
        Map<String,Cat> map = new HashMap<>();

        String[] namesOfCats = {"Barsik","Markiz","Murzik","Boris","Snezhok","Pushok","Persik","Marsik","Maks","Brodyaga"};
        for (int i = 0; i < namesOfCats.length; i++) {
            map.put(namesOfCats[i],new Cat(namesOfCats[i]));
        }
       return map;
    }

    public static Set<Cat> convertMapToSet(Map<String, Cat> map) {
        Set<Cat> set = new HashSet<>(map.values());
       return set;
    }

    public static void printCatSet(Set<Cat> set) {
        for (Cat cat : set) {
            System.out.println(cat);
        }
    }

    public static class Cat {
        private String name;

        public Cat(String name) {
            this.name = name;
        }

        public String toString() {
            return "Cat " + this.name;
        }
    }


}