Тех собес на middle-senior Java Разработчик в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований в категории Java Разработчик

Посмотреть видео в категории

(2024-09-04)

Техсобес

  1. На вход приходит стрим со значениями, реализовать метод отдающий булиан валидности:
    class PinTask {
      public static void main(String[] args) {
        Stream.of("1234", "a123", "123456", "1234567").map(PinTask::isPin).forEach(System.out::println);
      }
      public static boolean isPin(String s) {  }
    }
  2. В каком порядке мы увидим инициализации в логах при создании "В":

    class A {
        static { System.out.println("Static block A"); }
        public A() { System.out.println("Constructor A"); }
    }
    
    class B extends A {
        static { System.out.println("Static block B"); }
        public B() { System.out.println("Constructor B"); }
    }
  3. Ревью:

    class Parser {
      static private File file;
    
      static public void setFile(File file) {
        Parser.file = file;
      }
    
      public static String parse() throws Exception {
        Connection connection = DriverManager.getConnection("jdbc:pg:@prodcution.internal/proddb", "prod", "prod");
        connection.setAutoCommit(true);
    
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String parsedText = "";
        String line;
        while ((line = reader.readLine()) != null) {
          for (int i = 0; i < line.length(); i++) {
            int charCode = line.codePointAt(i);
            // charCode >= A && charCode <= z || charCode == ' '
            if ((charCode > 0x41 && charCode < 0x7A) || charCode == 0x20) {
              parsedText = parsedText + line.charAt(i);
            }
          }
        }
        Arrays.stream(parsedText.split("\s"))
          .parallel()
          .forEach(word -> {
            try {
              ResultSet resultSet = connection.prepareCall("select blocked_word from blocked_words").executeQuery();
              Boolean blockedWordFound = false;
              while (resultSet.next()) {
                if (Objects.equals(resultSet.getString(1), word)) {
                  blockedWordFound = true;
                }
              }
              if (!blockedWordFound) {
                connection.prepareStatement("insert into data values ('" + word + "')").execute();
              }
            } catch (SQLException ex) {
            }
          });
        return "SUCCESS";
      }
    }