Техническое собеседование
SQL-задача
Дана таблица:
| NUM |
-----
| 1 |
| 99 |
| 33 |
| 21 |
| 99 |
| ... |
Диапазон чисел: Num - [1:99]
Задача: Вытащить количество чисел, которые попадают в диапазоны. Пример ожидаемого вывода (для некоторых чисел и диапазонов):
0-9 - 1
10-19 - 0
20-29 - 1
30-39 - 0
40-49 - 0
50-59 - 0
60-69 - 0
70-79 - 0
80-89 - 0
90-99 - 2
Задача на рефакторинг кода (Java)
Дан следующий Java код:
@Component
@RequiredArgsConstructor
public class VerifyHelper {
private UserValidationServiceImpl us;
private ParamServiceImpl serviceImpl;
public String performAction(String str) {
if (str != null && str.length() > 0) {
if (serviceImpl.getParam("NEW_CLIENT_MODEL").equals("YES")) {
final String[] split = str.split("regex");
StringBuffer sb = new StringBuffer();
sb.append("<xml><client_id>").append(split[0]).append("</client_id>");
sb.append("<customer_code>").append(split[1]).append("</customer_code>");
sb.append("<check_date>").append(new Date()).append("</check_date>");
sb.append("</xml>");
return us.validate(sb.toString());
} else {
StringBuffer sb = new StringBuffer();
sb.append("<xml><client_id>").append(str).append("</client_id>");
sb.append("<customer_code>").append(str).append("</customer_code>");
sb.append("<check_date>").append(new Date()).append("</check_date>");
sb.append("</xml>");
return us.validate(sb.toString());
}
} else {
return "INVALID_PARAMETER";
}
}
public VerifyHelper() {
us = (UserValidationServiceImpl) SpringSupport.getBean("userValidation");
serviceImpl = (ParamServiceImpl) SpringSupport.getBean("paramService");
}
}
Задача: Провести рефакторинг данного кода.
Вложения

