Ну если приходить на интервью со своими собственными вопросами, то публика действительно ошалеет.Sergunka wrote: Задача всеж на интервью состоит в том чтоб еще и покодитьперед ашалевшей публикой

Ну если приходить на интервью со своими собственными вопросами, то публика действительно ошалеет.Sergunka wrote: Задача всеж на интервью состоит в том чтоб еще и покодитьперед ашалевшей публикой
В той или иной форме всегда на интервью есть задачи по синхронизации. У меня был прикол два подряд интервью просили написать свою реальзацию очереди с блокировкой. На втором интервью я вроде как отписал нормально - получил офер.dotcom wrote:А сколько раз про barber'а спрашивали на интервью?
в такой постановке, интересность задачи не тянет на блог для чувака за 150ка.Sergunka wrote: Согласен, что задача выполнена не по спекам как завещал Дейкстра
В моей интерпретации как в общем-то и в большинстве других на просторах интернета клиент заходит в зал ожидания (т.е. у меня в очередь с блокировкой) а потом уже парикмахер разбирается с ним. Здесь есть свои плюсы и минусы.
предложите свое решение на java,ikatkov wrote:а зачем вообще потоки и очереди в задаче про парикмахера?
Видимо потому что эту задачу так сформулировал Дейкстра, у него парикмахер и клиенты это разные процессы выполнения кода.ikatkov wrote:а зачем вообще потоки и очереди в задаче про парикмахера?
Разве это не типичная задача для finite state machine? Нужен только один thread и заранее предсказуемое количество памяти для любого количества клиентов и парикмахеров.
В смысле? Вы никогда имплементацию не видели? Ну так гуглится на раз-два:valchkou wrote: предложите свое решение на java,
ну что так официально, нет я про привет конкретно, только сергей посмел выложить свою, хоть и кривую, но не постеснялся. У меня тоже был свой вариант, кстати таже с 3 семафорами, по типу вышеприведенного примера, с небольшими различиями, но я полинился разукрасить егоИнтеррапт wrote:В смысле? Вы никогда имплементацию не видели? Ну так гуглится на раз-два:valchkou wrote: предложите свое решение на java,
http://www.cs.helsinki.fi/u/kerola/rio/ ... arber.java
Так и быть, выложу на досуге свой вариант с ForkJoinPool-омvalchkou wrote:ну что так официально, нет я про привет конкретно, только сергей посмел выложить свою, хоть и кривую, но не постеснялся. У меня тоже был свой вариант, кстати таже с 3 семафорами, по типу вышеприведенного примера, с небольшими различиями, но я полинился разукрасить егоИнтеррапт wrote:В смысле? Вы никогда имплементацию не видели? Ну так гуглится на раз-два:valchkou wrote: предложите свое решение на java,
http://www.cs.helsinki.fi/u/kerola/rio/ ... arber.java
Code: Select all
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class Barber {
static ExecutorService barber = new ThreadPoolExecutor(
1,
1,
0,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(20),
new ThreadPoolExecutor.AbortPolicy());
public static void main(String args[]) {
for(int i = 0; i < 100; i ++) {
new Client().start();
}
}
static class Client extends Thread {
@Override
public void run() {
Future<Void> v = barber.submit(new Callable<Void>() {
@Override
public Void call() throws Exception {
Thread.currentThread().sleep(1000);
return null;
}
});
try {
v.get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
}
}
хотел в гугл податься, но глянул на код крипто и понял, что нифига в жаве не рублю.Интеррапт wrote:Ну а что вы хотели?
Потому что я его 10 минут назад написал, эту страницу форума гугл видимо еще не успел проиндексироватьvalchkou wrote:хотел в гугл податься, но глянул на код крипто и понял, что нифига в жаве не рублю.Интеррапт wrote:Ну а что вы хотели?
крипто, почему твои варианты ответов не выгугливаются?
Что-то вы там гугловцы тормозите. Когда же риал-тайм индексация будет?crypto5 wrote:Потому что я его 10 минут назад написал, эту страницу форума гугл видимо еще не успел проиндексировать
Это не ко мне, я по части рекламыИнтеррапт wrote:Что-то вы там гугловцы тормозите. Когда же риал-тайм индексация будет?crypto5 wrote:Потому что я его 10 минут назад написал, эту страницу форума гугл видимо еще не успел проиндексировать