Задачи по программированию
Тестовое задание (найдено на pyshop.ru)
Backend-разработчик на javascript (стажер)
- В примере кода генерируется неупорядоченный массив забитых мячей в течении матча вида event = [{offset: n, score: [x, y]}, …] Разработайте функцию getScore(offset), которая вернет счет на момент offset вида {home: x, away: y}.
const event = []let currentHomeScore = 0
let currentAwayScore = 0// Events’ populating
for (let i = 0; i < 5400; i += ~~(Math.random() * 5) + 1) {
const shouldAddScore = ~~(Math.random() * 300) % 230 === 0if (shouldAddScore) {
if (currentHomeScore > currentAwayScore) {
currentAwayScore++
} else {
currentHomeScore++
}
}if (~~(Math.random() * 10) % 2 === 0) {
event.push({
offset: i,
score: [currentHomeScore, currentAwayScore]
})
} else {
event.unshift({
offset: i,
score: [currentHomeScore, currentAwayScore]
})
}
}// Implement this according to the task
const getScore = offset => {
} - Разработайте юнит-тесты проверяющие корректность работы функции. Удалось ли найти какие-либо дефекты в этой функции, полагаясь на ее назначение исходя из описания? Учтите, что вопрос не на знание фреймворков тестирования и их применение, можете взять любой, или даже разработать ряд самостоятельных функций. function isEven(number) {
// Returns True if **number** is even or False if it is odd.
return number % 2;
} - Преобразуйте файл books.csv в файл books.json, сгруппировав при этом книги по авторам, как показано в примере. Разделитель в csv-файле символ “точка с запятой” (“;”), первая строка – названия столбцов. books.csv Title; Author; Annotation
Don Quixote; Miguel de Cervantes; Alonso Quixano, a retired country gentleman in his fifties
Crime and Punishment; Fyodor Dostoyevsky; It is a murder story, told from a murders point of view
The Odyssey; Homer; The Odyssey is one of two major ancient Greek epic poems attributed to Homer
The Brothers Karamazov; Fyodor Dostoyevsky; Dostoevsky’s last and greatest novel, The Karamazov Brothers books.json {
“authors”: [
{
“author”: “Miguel de Cervantes”,
“books”: [
{
“title”: “Don Quixote”,
“description”: “Alonso Quixano, a retired country gentleman in his fifties”
}
]
},
{
“author”: “Fyodor Dostoyevsky”,
“books”: [
{
“title”: “Crime and Punishment”,
“description”: “It is a murder story, told from a murders point of view”
},
{
“title”: “The Brothers Karamazov”,
“description”: “Dostoevsky’s last and greatest novel, The Karamazov Brothers”
}
]
},
{
“author”: “Homer”,
“books”: [
{
“title”: “The Odyssey”,
“description”: “The Odyssey is one of two major ancient Greek epic poems attributed to Homer”
}
]
}
]
}