ИТ фирми и пракси во Скопје

Член од
26 јануари 2009
Мислења
11.598
Поени од реакции
18.021
Па тоа беше мојот муабет, се обидувам да кажам како се станува сениор. Не се станува сениор со одење во фирма каде што ќе играш пинг понг 3 саати во денот, 1 саат ќе пиеш кафе и 1 саат ќе бидеш на пауза.

Што се однесува на интервјуата за пракса, сеуште се прашуваат прашања за SQL и жално е тоа колку малку луѓето во МК знаат бази. И тука не зборам само за практиканти и junior-и, туку и за "seniors" со 5+ години искуство во "backend development". Тоа нормално се должи на фактот што 99% од проектите што се работат во МК не се database intensive и немаат потреба "advanced database functionalities". Интересно е и тоа што во МК има фирми кои работат "enterprise" проекти по code first принципот :D

Малце офтопик, кога веќе стана збор за ORMs, ова е моето омилено прашање за интервју :D
n+1 - извршуваш +1 квери за секое пристапување на relationship от или related моделот. У суштина колку записи имаш во табелата толку и квериња ќе ти се извршат.
Моабетот ми е бараат кандидат кој точно ќе се поклопи со тек-стекот на фирмата, да биде способен да работи одма, да го плаќаат колку за храна и превоз. Сепак кога станува збор за пракса, премногу е барање, а и кога работам сега гуглам, битно е да знаеш што е можно да се направи и да знаеш да најдеш решение, а не на лист да знаеш да напишеш. Пракса економистиве на пример иде у банка и само прашува, а тука интервјуа обемни, ригорозни, 3 пати интервју ко лид програмер да бараат. И во гугл пример ти праат интервјуа решаваш задачи за пракса ама платен си многу подобро одколку да работиш нормална работа. Што има вишок работна сила, има и не треба да се лажат идни програмери дека одма се доаѓа до работа, зашто не е така.



Се согласуваме за се, ама сега се бараат практиканти и џуниори со знаење на мид-левел програмери, а лажат деца лесно е одма се наоѓа работа дрн-дрн. Како да бараш практикант економист и да очекуваш да знае да води монетарна политика на држава. :D
А замисли усно да те прашуваат? :) Те разбирам што сакаш да ми кажеш од една страна, но ги разбирам и нив и нивниот страв. Но не е од сега, јас на какви интервјуа сум одел, прво праиш тест или проект од дома, па после и уште едно интервју проект или тест таму.
 
Член од
16 мај 2016
Мислења
428
Поени од реакции
582
Предлог материјали од каде да се спремам за интервју за java(backend), sql и слични работи за големиве фирми?(endava, netcetera, etc..).
 

Amaterasu

123123113
Член од
17 април 2012
Мислења
1.136
Поени од реакции
1.068
n+1 - извршуваш +1 квери за секое пристапување на relationship от или related моделот. У суштина колку записи имаш во табелата толку и квериња ќе ти се извршат.
Генерално тоа е решението. Но, во случајот на hibernate, зависи дали relationship ентитетот кој го бараш се наоѓа во first level (или second level ако е конфигуриран) cache. На пример, ако имаш ентитет Course кој содржи Organization, и во courses табелата имаш само 3 редици и сите тие се врзани со една иста организација, тогаш со обичен L1 cache, ќе се извршат 2 queries:
Првото за сите Courses,
Второто за Organization на првиот Course
Organization на вториот и третиот Course ќе биде прочитана од кешот (бидејќи второтo query веќе ја прочита) и нема да има потреба од query до база.

Предлог материјали од каде да се спремам за интервју за java(backend), sql и слични работи за големиве фирми?(endava, netcetera, etc..).
Немам предлог материјали, но можам да кажам за кои концепти/знаења мислам дека се важни:

Java:
- Разлика помеѓу примитивни типови и објекти
Овде се подразбира да ја знаеш разликата помеѓу примитивните варијабли и wrapper класите(на пример: int и Integer), зошто постојат wrapper класите, кои се нивните pros/cons

- Основни разбирања од наследување и композиција
Што е разликата помеѓу наследување и композиција? Во кои случаеви би го користел едното, во кои другото. Што е полиморфизам и како е поврзан со овие 2 концепти?

- Static методи и варијабли
Што е static? Кога треба да се користи?

- Работа со основните податочни структури - Lists, Maps, Sets.
Да се разбира комплексноста на операциите (на пр. insert, search, итн) во податочните структури и да можеш да препознаеш која каде треба да се искористи. На пример, ако ти кажам дека имаш List-а од Integer-и и сакам да ги испечатиш сите елементи кои се дупликати (се појавуваат повеќе од еднаш) очекувам тоа да го решиш со О(n) комплексност, каде што n е бројот на елементи во листата.

- Познавање на java stream API-то
Што претставува Stream? Користење на java stream API-то за simple операции од типот на filter, map, collect.

- Nice to have
(со овие би отскокнал од другите кандидати)
Разбирање на основни design patterns како што се: Singleton, Strategy, Proxy, Dependency Injection, T
Користење на анонимни класи, lambda expressions, functional interfaces, method references
Functional programming
Паралелно извршување, thread safety, синхронизација

Backend:

- MVC - software layers (controller, service, repository)

- JPA (java persistence API)
Да се има познавања од барем една JPA имплементација (99% од фирмите користат hibernate кај нас). Под познавања, подразбирам да можеш да напишеш и да извршиш query преку java код.

- HTTP
Да можеш да објасниш како работи HTTP протоколот, што се headers/cookies/sessions.

- Web Frameworks
Да си запознаен со некој java web framework (на пример Spring). Да можеш да креираш проектче од scratch и да испечати "Hello world" на localhost:8085/hello :D

- Nice to have
Познавање од полето на security/authentication/authorization
Пишување на integration/unit тестови

Бази:
- Преточување на даден проблем во ER дијаграм (препознавање и креирање на релации)
- Пишување DDL и DML изрази
 
Член од
26 јануари 2009
Мислења
11.598
Поени од реакции
18.021
Генерално тоа е решението. Но, во случајот на hibernate, зависи дали relationship ентитетот кој го бараш се наоѓа во first level (или second level ако е конфигуриран) cache. На пример, ако имаш ентитет Course кој содржи Organization, и во courses табелата имаш само 3 редици и сите тие се врзани со една иста организација, тогаш со обичен L1 cache, ќе се извршат 2 queries:
Првото за сите Courses,
Второто за Organization на првиот Course
Organization на вториот и третиот Course ќе биде прочитана од кешот (бидејќи второтo query веќе ја прочита) и нема да има потреба од query до база.


Немам предлог материјали, но можам да кажам за кои концепти/знаења мислам дека се важни:

Java:
- Разлика помеѓу примитивни типови и објекти
Овде се подразбира да ја знаеш разликата помеѓу примитивните варијабли и wrapper класите(на пример: int и Integer), зошто постојат wrapper класите, кои се нивните pros/cons

- Основни разбирања од наследување и композиција
Што е разликата помеѓу наследување и композиција? Во кои случаеви би го користел едното, во кои другото. Што е полиморфизам и како е поврзан со овие 2 концепти?

- Static методи и варијабли
Што е static? Кога треба да се користи?

- Работа со основните податочни структури - Lists, Maps, Sets.
Да се разбира комплексноста на операциите (на пр. insert, search, итн) во податочните структури и да можеш да препознаеш која каде треба да се искористи. На пример, ако ти кажам дека имаш List-а од Integer-и и сакам да ги испечатиш сите елементи кои се дупликати (се појавуваат повеќе од еднаш) очекувам тоа да го решиш со О(n) комплексност, каде што n е бројот на елементи во листата.

- Познавање на java stream API-то
Што претставува Stream? Користење на java stream API-то за simple операции од типот на filter, map, collect.

- Nice to have (со овие би отскокнал од другите кандидати)
Разбирање на основни design patterns како што се: Singleton, Strategy, Proxy, Dependency Injection, T
Користење на анонимни класи, lambda expressions, functional interfaces, method references
Functional programming
Паралелно извршување, thread safety, синхронизација

Backend:

- MVC - software layers (controller, service, repository)

- JPA (java persistence API)
Да се има познавања од барем една JPA имплементација (99% од фирмите користат hibernate кај нас). Под познавања, подразбирам да можеш да напишеш и да извршиш query преку java код.

- HTTP
Да можеш да објасниш како работи HTTP протоколот, што се headers/cookies/sessions.

- Web Frameworks
Да си запознаен со некој java web framework (на пример Spring). Да можеш да креираш проектче од scratch и да испечати "Hello world" на localhost:8085/hello :D

- Nice to have
Познавање од полето на security/authentication/authorization
Пишување на integration/unit тестови

Бази:
- Преточување на даден проблем во ER дијаграм (препознавање и креирање на релации)
- Пишување DDL и DML изрази

Тоа што ти го пишав е проблемот. Имаш ентитети Course и Organisation. Сакаш да ги земеш сите курсеви и за секој курс неговата организација/името (ќе користам ларавел елоквент)

PHP:
$courses = App\Course::all();

foreach ($courses as $course) {
    echo $course->organisation->name;
}
Во случајов ако имаш 50 курса ќе се изврши прво едно квери кое ги зема сите курсеви и после уште 50 квериња преку кои ја земаш организацијата/името за секој од тие курсеви. Во елоквент имаш една ствар која се вика eager loading тоа изгледа вака

PHP:
$courses = App\Course::with('organisation')->get();
foreach ($courses as $course) {
    echo $course->organisation->name;
}
оваа линија код извршува две квериња

SQL:
select * from courses

select * from organisations where id in (1, 2, 3, 4, 5, ...)
каде во низата (1,2,3,4,5...) ти се уствари organisation_id foreign keys во $courses
 
Последно уредено:

LepiDzoni

Profesionalen ulichen cigan
Член од
25 јули 2014
Мислења
1.333
Поени од реакции
3.266
Предлог материјали од каде да се спремам за интервју за java(backend), sql и слични работи за големиве фирми?(endava, netcetera, etc..).
Ubavo e da znaes teorija ali citni i nekolku open source proekti na github vo java spring. Osobeno obrni vnimanie na pogolemiot ekosistem od tipot na kako se bilda spring proekt so maven, kako vleguva tomcat vo slikata, kako se deploira spring proekt so aws, azure itn... Fintata e da se izdvois od tolpata stotuku diplomirani bebinja od finki
 
Член од
3 март 2020
Мислења
2.413
Поени од реакции
5.062
Се начитав мислења, и како заклучок ми се чини дека преовладува мислењето оти талентот и врските се најбитни за да се успее во ИТ секторот
 
Член од
27 септември 2010
Мислења
5.044
Поени од реакции
7.069
Една стартап фирма што ја познавам, верували или не, вработуваат само женски пол јуниори. Се познавам со колеги што стварно се талентирани, но ги одбиваа во истата фирма. Газдите се двајца машки ергени накај 35та година. Чудно? :D
 
Член од
1 септември 2018
Мислења
248
Поени од реакции
642
Една стартап фирма што ја познавам, верували или не, вработуваат само женски пол јуниори. Се познавам со колеги што стварно се талентирани, но ги одбиваа во истата фирма. Газдите се двајца машки ергени накај 35та година. Чудно? :D
И? Кажи ја фирмата со јуниорките.
 
Член од
9 февруари 2016
Мислења
1.247
Поени од реакции
3.167
Една стартап фирма што ја познавам, верували или не, вработуваат само женски пол јуниори. Се познавам со колеги што стварно се талентирани, но ги одбиваа во истата фирма. Газдите се двајца машки ергени накај 35та година. Чудно? :D
Во главно сегде имаат предност женските.
 
Член од
7 октомври 2018
Мислења
196
Поени од реакции
364
Се начитав мислења, и како заклучок ми се чини дека преовладува мислењето оти талентот и врските се најбитни за да се успее во ИТ секторот
Мхм, најбитни се врските за во ИТ сектор... Ако се работи за ИТ сектор у државна администрација :icon_lol:
 
Член од
8 октомври 2015
Мислења
877
Поени од реакции
2.421
Незнам кај да ве информирам сите заинтересирани па ај нека биди тука,

Имено,битолската фирма Interworks има објавено повик за бесплатна онлајн пракса со цел корисно пополнување на времето во овај заебан период.
Вервам дека добро би ви дошло на сите да поднаучите нешто,а уште поважно да добиете мотивација за следни предизвици.
Во онлајн обуката имате можност да бирате дали сакате веб дизајн,јава,спринг итн.
Ја пратев прошлата онлајн презентација за основите на бек енд и фронт енд,демонстраторите се одлични.
Јас си се пријавив,па еве ви линкче за сите кои се желни за нешто ново.
 
Член од
1 јуни 2011
Мислења
25.909
Поени од реакции
41.872
Незнам кај да ве информирам сите заинтересирани па ај нека биди тука,

Имено,битолската фирма Interworks има објавено повик за бесплатна онлајн пракса со цел корисно пополнување на времето во овај заебан период.
Вервам дека добро би ви дошло на сите да поднаучите нешто,а уште поважно да добиете мотивација за следни предизвици.
Во онлајн обуката имате можност да бирате дали сакате веб дизајн,јава,спринг итн.
Ја пратев прошлата онлајн презентација за основите на бек енд и фронт енд,демонстраторите се одлични.
Јас си се пријавив,па еве ви линкче за сите кои се желни за нешто ново.
Дали го има распоредот на сите курсеви кои денови ќе се?


Sent from my Mi A1 using Tapatalk
 

Ilumious

Патник, педер, поет, администратор, масон
Член од
29 јануари 2007
Мислења
84.962
Поени од реакции
195.489
Зошто Акселтра често бараат практиканти? Брзо се шират или лоши услови нудат кога ќе дојде време за вработување?
 

Kajgana Shop

На врв Bottom