Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 37 38 39 40 41 42 43 [44] 45 46   вперед  Ctrl
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
apb12
Member [заблокирован]

Откуда:
Сообщений: 490
про идею да тоже напомнил - сидим на комьюнити- я считаю это позором для контор,которые разрабатывают ПО
и обязательно этот вопрос подыму на первом же факе

пс.а в консоли я сижу потому что у нас огромный проект,который я 4 дня портировали ко мне на ноут
сначала обычный гит клон ,но изза того что тунель маловат он постоянно слетал ,скорость 100-150 кбс- при 20 гигах это целая вечность
потом попобровали со съмного диска в вируталке
ТАм уже не тянул мой ноут,НЕ хватает оперативки и проц уходит в тротлинг

изза всей этой херни любое действо я должен производить с выключенной идеей ,тобишь в консоли,ИНаче там тупо все виснет намертво)
2 дек 19, 20:19    [22030728]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Билд крупного проекта в консоли - это нормально. Я тоже так делаю. Мне даже быстрее.

А память для JetBrains нормально расширяется.
https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties

Но идея может использовать как эту память. Так и запускать внешние процессы (ant, maven, gradle)
через плагины. И там уже надо смотреть в настройках плагина сколько памяти выставлено.

Как определить форкает-ли процессы идея. Ну я просто поглядываю одним глазом в jps в режиме вотча.
$ watch -n 15 jps -l

И как только в нем появляется новый процесс - значит был форк.
2 дек 19, 20:31    [22030734]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
apb12
Member [заблокирован]

Откуда:
Сообщений: 490
mayton
Билд крупного проекта в консоли - это нормально. Я тоже так делаю. Мне даже быстрее.

А память для JetBrains нормально расширяется.
https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties

Но идея может использовать как эту память. Так и запускать внешние процессы (ant, maven, gradle)
через плагины. И там уже надо смотреть в настройках плагина сколько памяти выставлено.

Как определить форкает-ли процессы идея. Ну я просто поглядываю одним глазом в jps в режиме вотча.
$ watch -n 15 jps -l

И как только в нем появляется новый процесс - значит был форк.

а что на счет того ,что развернутый проект занимает 100 гиг а у тебя 117 всего и из них 30 только винда и еще 10 всякий нужный софт?
сможешь развернуть 100 гиг на 80?)
у коллеги 250 и то строчку локал хост воодит пару минут)
при 16 озу)а у меня 7) я говорю я сегодня развенул каким то чудом ,но вот реально можно было яичницу на ноуте жарить- он с**а алюминивый и до не просто было не дотронуться))
2 дек 19, 20:48    [22030743]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
apb12
Member [заблокирован]

Откуда:
Сообщений: 490
mayton

$ watch -n 15 jps -l

И как только в нем появляется новый процесс - значит был форк.

у меня идея не запускается при открытом проекте)
мало того я тут сегодня попробовал из виртуалки идею открыть просто тупо все умерло наглушняк

ну блин не возможно разработку вести на коме у которго 7 гиг озу и 40 гиг свободных на жестком

пс.вообще на меня внимание щас не обращайте меня кинули на проект реальный я пока там ничего не понимаю и еще ноут умирает под нагрузкой)
2 дек 19, 20:51    [22030744]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
apb12

а что на счет того ,что развернутый проект занимает 100 гиг а у тебя 117 всего и из них 30 только винда и еще 10 всякий нужный софт?
сможешь развернуть 100 гиг на 80?)
у коллеги 250 и то строчку локал хост воодит пару минут)
при 16 озу)а у меня 7) я говорю я сегодня развенул каким то чудом ,но вот реально можно было яичницу на ноуте жарить- он с**а алюминивый и до не просто было не дотронуться))

Тут - какой-то поток непонятных фактов.

1) Давай по порядку. Ни одна корпрация еще не написала 100 гиг исходного кода.
Лев Толстой за жисть едва-ли 10 мегабайт текста набил. А мы на проектах доходили
до сотен мегабайт исходников и то при условии что они частично авто-генерились
ОРМ-амим.

Не могу поверить что у вас сорцов - на 100 гиг.

Может там не код а видосы пристёгнуты или картинки? Так это другая задача.
Они - не компилируются а просто складываются в ресурсы. И им столько памяти
не надо. Это поточная операция.

2) Как у вас организован процесс билда. Что он делает. Из каких частей состоит.
Вангую что там 99% делается одна и та-же рутина. Ее можно модуляризировать.
Но это архитектурный вопрос и его можно решить с вашим тех-лидом. Побейте проект
на модули. И решайте текущие задачи не во всем проекте а внутри модуля.

IDE прекрасно поддерживает модульность и раздельные сборки. Зависимые модули
задеплойде в локальный maven и оттуда берите.
2 дек 19, 21:02    [22030751]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
apb12
Member [заблокирован]

Откуда:
Сообщений: 490
mayton,

)) майтон у нас гибер огромный монолит ,его вес в сорцах 20 гиг без писды)
в развернутом состоянии больше 100ки
к сорцам кроме самих сорцов ничего не пристегнуто
к пм подходить не получится
над этим проектом работает больше 50 тим это аналитики ,базисты ,тестировщики,уайщики,бэк и чо то еще)
ну тоесть сам понимаешь огромный монолит ,который пилят 50 + тим,это где то в районе 600 человек только разрабов
согласовать там какие то варианты свои просто нереально)
мы едем по рельсам которые проложили до нас
2 дек 19, 22:32    [22030801]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
А на выходе - сколько артефактов? Один большой на 20 Гиг?
2 дек 19, 22:36    [22030807]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
apb12
Member [заблокирован]

Откуда:
Сообщений: 490
mayton
А на выходе - сколько артефактов? Один большой на 20 Гиг?

на это я тебе не могу ответить,мы находимся в одном небольшом куске этого монолита и что там на выходе бог его знает)))
я 4й день на проекте пока вот мучаем дохлый ноут чтобы начальство поняло что нужен ноут помощнее
вообще конечно странно выдавать разрабу ноут с 8 гигами озу 120 жесткого и говнопроцом Intel® Core™ i5-8250U
2 дек 19, 22:47    [22030815]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Ты - странный человек. У тебя есть проект. И у тебя есть (должна быть) инструкция по развёртыванию.
Или по деплойменту. Неважно.

Иначе получается что ты занят какой-то странной активностью - но что там внутри происходит и зачем
ты не знаешь.
2 дек 19, 22:56    [22030822]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Например. После прохождения всех фаз mvn package у тебя с корня в каталоге /target
должен появится файл you-fucken-application-X.XX-SNAPSHOT.war

Это будет признаком что все сценарии сборки и авто-тестов прошли успешно.
2 дек 19, 23:16    [22030827]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Roman Mejtes
есть одно но, в реальной жизни это всё бесполезная мура.
академические знания это очень хорошо, но то как человек справляется с реальными задачи это определяет.
я бы в ответ спросил, как часто эти товарищи используют LinkedList, про реализм самой задачи я просто помолчу.

Не такая уж и бесполезная. Это на знание структур данных. Лично ускорял приложение в разы заменяя ArrayList на HashMap.
3 дек 19, 04:39    [22030910]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
ivanra,

https://www.geeksforgeeks.org/trie-insert-and-search/
// Java implementation of search and insert operations 
// on Trie 
public class Trie { 
      
    // Alphabet size (# of symbols) 
    static final int ALPHABET_SIZE = 26; 
      
    // trie node 
    static class TrieNode 
    { 
        TrieNode[] children = new TrieNode[ALPHABET_SIZE]; 
       
        // isEndOfWord is true if the node represents 
        // end of a word 
        boolean isEndOfWord; 
          
        TrieNode(){ 
            isEndOfWord = false; 
            for (int i = 0; i < ALPHABET_SIZE; i++) 
                children[i] = null; 
        } 
    }; 
       
    static TrieNode root;  
      
    // If not present, inserts key into trie 
    // If the key is prefix of trie node,  
    // just marks leaf node 
    static void insert(String key) 
    { 
        int level; 
        int length = key.length(); 
        int index; 
       
        TrieNode pCrawl = root; 
       
        for (level = 0; level < length; level++) 
        { 
            index = key.charAt(level) - 'a'; 
            if (pCrawl.children[index] == null) 
                pCrawl.children[index] = new TrieNode(); 
       
            pCrawl = pCrawl.children[index]; 
        } 
       
        // mark last node as leaf 
        pCrawl.isEndOfWord = true; 
    } 
       
    // Returns true if key presents in trie, else false 
    static boolean search(String key) 
    { 
        int level; 
        int length = key.length(); 
        int index; 
        TrieNode pCrawl = root; 
       
        for (level = 0; level < length; level++) 
        { 
            index = key.charAt(level) - 'a'; 
       
            if (pCrawl.children[index] == null) 
                return false; 
       
            pCrawl = pCrawl.children[index]; 
        } 
       
        return (pCrawl != null && pCrawl.isEndOfWord); 
    } 
       
    // Driver 
    public static void main(String args[]) 
    { 
        // Input keys (use only 'a' through 'z' and lower case) 
        String keys[] = {"the", "a", "there", "answer", "any", 
                         "by", "bye", "their"}; 
       
        String output[] = {"Not present in trie", "Present in trie"}; 
       
       
        root = new TrieNode(); 
       
        // Construct trie 
        int i; 
        for (i = 0; i < keys.length ; i++) 
            insert(keys[i]); 
       
        // Search for different keys 
        if(search("the") == true) 
            System.out.println("the --- " + output[1]); 
        else System.out.println("the --- " + output[0]); 
          
        if(search("these") == true) 
            System.out.println("these --- " + output[1]); 
        else System.out.println("these --- " + output[0]); 
          
        if(search("their") == true) 
            System.out.println("their --- " + output[1]); 
        else System.out.println("their --- " + output[0]); 
          
        if(search("thaw") == true) 
            System.out.println("thaw --- " + output[1]); 
        else System.out.println("thaw --- " + output[0]); 
         
    } 
} 
// This code is contributed by Sumit Ghosh 


Предлагаю составить входной словарь, позвать сишников и устроить кровавую баталию.
3 дек 19, 04:41    [22030911]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Вобщем предложите генерализованный подход для такого поиска.


То же самое дерево, только в названиях организаций сплит по пробелу.
3 дек 19, 04:44    [22030913]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
ivanra
Member

Откуда:
Сообщений: 878
crutchmaster
mayton
Вобщем предложите генерализованный подход для такого поиска.

То же самое дерево, только в названиях организаций сплит по пробелу.

Ну да. Хотелось бы узнать значение ALPHABET_SIZE, если у нас в узлах слова
TrieNode[] children = new TrieNode[ALPHABET_SIZE];

Или всё-таки в узлах буквы?
И как организовать по такому дереву неточный поиск? ну хотя бы по началу слов
3 дек 19, 09:34    [22030954]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
ivanra
Или всё-таки в узлах буквы?

В узлах буквы. Там по ссылке есть картинка.

И как организовать по такому дереву неточный поиск? ну хотя бы по началу слов

В дереве слова/фразы. Не дошел до конца дерева, значит нашел кусок. Чтобы выкинуть варианты слов/фраз, просто рекурсивно обходишь оставшееся дерево. По куску из середины слова/фразы - никак, да и задачи такой не стояло.

Сообщение было отредактировано: 3 дек 19, 09:43
3 дек 19, 09:39    [22030959]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
У дерева в примере по ALPHABET_SIZE веток у каждого узла, оно не очень удачное, кмк, но я особо не вникал.

Сообщение было отредактировано: 3 дек 19, 09:41
3 дек 19, 09:41    [22030963]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Для
хочу вводить в форму - "мос гор бол" а ты мне найди все "Московские Городские Больницы № такойто"

Сделать 2 дерева, одно со словами "Московская, Городская, Больница, им. ,Медведева, Скворцовой, 42, 128, 256", другое с полным названием. Сперва искать по словам, потом их склеивать, пытаться искать по списку, если ничего не получится просто выдавать результат с последнего узла. "мос гор бол 16, московская городская больница №(<--тут мы встряли) 16", или игнорить косячную итерацию и искать дальше.
3 дек 19, 09:50    [22030975]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Пользователь может ввести слова адреса в любом порядке.
3 дек 19, 11:42    [22031084]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton,

Тогда не склеивать, а искать переставляя слова. Если не получается после всего списка слов, пропускать по букве, результат выдавать в порядке нахождения всей фразы.
3 дек 19, 11:55    [22031088]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Это плохо. При 5 словах у вас будет уже 120 поисков.
3 дек 19, 12:01    [22031090]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Это плохо. При 5 словах у вас будет уже 120 поисков.


Это в худшем случае. Хотя даже это не страшно, потому что поиск очень дешевый. Чтобы найти след. букву надо лишь вычислить код и сходить ссыкле из массива. А если перегнать буквы на свои коды, то можно и код не считать.

Сообщение было отредактировано: 3 дек 19, 12:11
3 дек 19, 12:10    [22031099]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton,

Можно сделать наоборот - перебирать все слова начиная с первой буквы. Т.е. пробуем первую букву каждого слова, если на каком-то слове пошло - двигаемся дальше, перебираем его. Если дальше не идёт, возвращаемся и пробуем другие.
3 дек 19, 13:10    [22031168]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Накидаю еще потенциальных кейсов.

1) Пользователь вводит "ФИЛАТОВ 15 МСК" а хочет найти "Городская клиническая больница №15 им. О.М.Филатова" г. Мск.

2) Пользователь ищет "КЛИН БОЛ 13" а хочет найти "Городская клиническая больница № 13".

Тоесть можно перебирать по разному но пользователь не всегда вводит слова в том порядке как они указаны
в названии ведомства.
3 дек 19, 13:16    [22031176]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Да. Во втором сценарии результат поиска будет включать в себя вообще все больницы №13 всех городов.
3 дек 19, 13:17    [22031178]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
iOracleDev
Member

Откуда:
Сообщений: 1029
mayton,

Не все задачи в стиле "хочу чтобы всЁ" требуется решать.
3 дек 19, 13:57    [22031212]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 37 38 39 40 41 42 43 [44] 45 46   вперед  Ctrl
Все форумы / Java Ответить