Sobes.tech

Node.js

[ime] je pitao: Kako bi ocenio svoj nivo: middle ili senior?

Senior
Spendbase
54

[ime] je pitao: Знаш ли конкуренте Vinci?

Senior
Spendbase
53

Када ћете моћи да почнете да радите ако добијете понуду?

Senior
Atex
51

[ime] je pitao: Kada završavaš магистратуру?

Senior
Spendbase
48

Zašto razmatrate ponudu sada?

Senior
SelectySelecty
48

Молимо вас, испричајте нам о вашем последњем пројекту: коју улогу сте имали и за које области сте били одговорни?

Senior
SelectySelecty
47

Да ли сте икада писали јединичне тестове? У којој мери?

Senior
Atex
42

Koja je razlika između operatora || i ?? u JavaScript/TypeScript? Šta će se dogoditi ako je retryLimit postavljen na 0?

Senior
Atex
41

[ime] je pitao: Odakle ste?

Senior
Spendbase
41

[ime] je pitao: Želiš li ostati u Italiji?

Senior
Spendbase
41

[ime] je pitao: Шта те сада мотивише да се придружиш стартапу и шта тражиш?

Senior
Spendbase
41

[ime] je pitao: Kako bi opisao/la šta radi Vinci, na osnovu onoga što razumeš?

Senior
Spendbase
38

У којој компанији тренутно радите?

Senior
SelectySelecty
35

[ime] je pitao: Ukratko, reci mi o sebi i svom iskustvu.

Senior
Spendbase
34

Отслеживање грешке · TypeScript Скривене грешке Сваки од ових осам фрагмената се компајлира, пролази кроз случајни преглед и изгледа добро. Сваки скрива грешку. За сваки: кажите нам шта се ломило, под којим условима — и како бисте то открили. Размишљајте гласно. Интересује нас како читате код, а не тајмер. У реду је ако не погодите све. 01 Наручивање interface Notifier { send(to: string, message: string): Promise<void> } class OrderService { constructor(private readonly notifier: Notifier) {} async placeOrder(order: Order): Promise<OrderId> { const id = await this.repo.save(order) this.notifier.send(order.customerEmail, `Order ${id} confirmed`) return id } } 02 Ажурирање профила app.post('/profile', async (req, res) => { const profile = parseProfile(req.body) try { await db.profiles.update(req.user.id, profile) } catch (err) { logger.warn('неуспешно ажурирање профила', err) } res.status(200).json({ status: 'сачувано' }) }) 03 Брисање коментара app.delete('/comments/:id', requireAuth, async (req, res) => { const comment = await db.comments.findById(req.params.id) if (!comment) { return res.status(404).end() } await db.comments.delete(comment.id) res.status(204).end() }) 04 Пагинација листе function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) } // позивач const results = paginate(rows, page, 20) // страница почиње од 1 у UI-ју 05 Учитавање чланака са ауторима async function loadArticlesWithAuthors(): Promise<ArticleView[]> { const articles = await db.query('SELECT * FROM articles WHERE published = true') const views: ArticleView[] = [] for (const article of articles) { const author = await db.query('SELECT * FROM users WHERE id = $1', [article.authorId]) views.push({ ...article, author: author[0] }) } return views } 06 Решавање подразумеваних конфигурација interface Settings { retryLimit?: number displayName?: string } function resolveConfig(s: Settings) { return { retryLimit: s.retryLimit || 3, displayName: s.displayName || 'Анонимно', } } 07 Тестирање помоћне функције за попуст function applyDiscount(price: number, percent: number): number { return price - price * (percent / 100) } describe('applyDiscount', () => { it('примењује попуст', () => { const spy = vi.fn().mockReturnValue(90) const result = spy(100, 10) expect(result).toBeDefined() expect(result).toBe(90) }) }) 08 Прогнозирање врхунских резултата function topScores(scores: number[], take = 3): number[] { return scores.sort((a, b) => b - a).slice(0, take) } const results = [4, 1, 9, 2] const podium = topScores(results) // ... касније, негде другде: renderRawResults(results) // очекивано [4, 1, 9, 2]

Senior
Atex
33

[ime] je pitao: Kako koristiš veštačku inteligenciju za programiranje?

Senior
Spendbase
30

Обриши коментар app.delete('/comments/:id', requireAuth, async (req, res) => { const comment = await db.comments.findById(req.params.id) if (!comment) { return res.status(404).end() } await db.comments.delete(comment.id) res.status(204).end() }) Пагинација листе function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) }

Senior
Atex
23

[ime] je pitao: Da li si uspeo da naučiš italijanski?

Senior
Spendbase
19

[ime] je pitao: Da li si uspeo da naučiš šta radi Vinci?

Senior
Spendbase
7
/87