juan_gandhi: (Default)
[personal profile] juan_gandhi
Сегодня меня четыре раза спрашивали, как работает сборка мусора в джаве. Как будто это имеет какое-то значение. И как будто уходит больше пяти минут ознакомиться с какой-нибудь статейкой, где написано, мол, mark and sweep. Один раз по телефону, и три раза в одной интересной конторе, где, вроде бы, люди умные, но какие-то слегка очумелые.

А ещё попросили написать функцию, которая берёт два целых массива и возвращает их пересечение. но называется merge. Потом переименовали в процессе. Потом попросили без Set. Потом я сказал, ну хрен с ним, тогда будет O(m*n). Потом попросили распараллелить на multiple threads. А потом, внимание, спросили, почему я не использовал heapsort. И я потом долго допытывался, почему именно heapsort поможет профессионалу.

А ещё этот же человек долго добивался от меня, что такое reference в джаве. И как работает атомный плюс. Я предположил, что можно ж и через native. Нет, на самом деле, всё через CAS.

Зато первый интервьюёр понравился - ему я рисовал код, использующий ConcurrentHashMap<String, AtomicInteger>.

На самом деле, я не понимаю этого народного обсещена с синхронизацией. Что там не тривиально? И чем так уж особо интеллектуален ConcurrentHashMap, вы б поглядели сырцы. Иногда возникает ощущение, что если в коде больше одной нитки, то у программиста начинает кружиться голова, и внутри просыпаются и начинают бегать тараканы.

Лучше б задумались, почему из List<Set<T>> можно сделать Set<List<T>>, а обратно нельзя? Что-то с энтропией? Или это можно всё выразить в виде функториальных уравнений (с блэкджеком и шлюхами), и энтропия вытекает из этих уравнений? Забавно, правда? А если Option или Exception туда вбросить? Будет иерархия по энтропии?

Date: 2010-11-09 09:17 am (UTC)
From: [identity profile] jtootf.livejournal.com
а можно насчёт List и Set подробней? непонятно :(

Date: 2010-11-09 09:42 am (UTC)

Date: 2010-11-09 04:07 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Ну как: если есть список множеств, то это, считай, декартово произведение, и из него можно построить множество списков, множество точек этого произведения. А вот если дано множество списков, то это не обязательно декартово произведение, и преобразовать его в список множеств как-то не представляется возможным.

Date: 2010-11-09 09:07 pm (UTC)
From: [identity profile] mr-aleph.livejournal.com
проекция по первой координате, проекция по второй координате ... ? как раз список множеств построенный из множества списков. чем не нравится?

Date: 2010-11-10 03:50 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Так списки ж разной длины могут быть. Хотя да, любопытно. Надо подумать.

Date: 2010-11-15 10:56 am (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Всё ок, вроде. Множество первых элементов, множество вторых, ..., одинаковая длина списков вовсе не нужна.

Причём это как бы обратная функция для декартова произведения, но оно не является обратной функцией для неё. Можно даже вывести в результате операцию замыкания -- типа, берём произвольное множество списков, превращаем в список множеств, потом обратно во множество списков. В ней наверное есть какой-нибудь глубокий смысл, типа строит своего рода выпуклую оболочку или ещё что-нибудь такое.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 6 7
8 9 10 11 121314
15161718 1920 21
222324252627 28
29 30     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 6th, 2025 01:52 am
Powered by Dreamwidth Studios