Προς το περιεχόμενο

Θελω να γινω προγραμματιστης χωρις πτυχιο απο που να ξεκινησω;


True_Alchemist14

Προτεινόμενες αναρτήσεις

6 λεπτά πριν, solarpower είπε

Για τι θέση ήταν;

 

 

Για το 3: http://www.rosettacode.org/wiki/Eertree

Α! μόλις είδα έχει και Μ2000 εκεί!

To 3 λυνεται οπως το θελανε efficient με dynamic programming. Η θεση ειναι entry τρομαρα τους, σε ai/ml startup

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 48
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ. (επεξεργασμένο)

Εγώ θα τους έλεγα για τον eertree και θα σταμάταγα εκεί (σιγά μην τον έγραφα κιόλας). Διότι είναι ο καλύτερος αλγόριθμος. 

Δημοσιεύθηκε το 2014 https://arxiv.org/pdf/1506.04862.pdf

Εσύ τους έφτιαξες κάτι με O(n^2) ενώ με χρήση eertree έχουμε O(n*log(a)),όπου a το μέγεθος του αλφάβητου.

Άρθρο εδώ: https://medium.com/@alessiopiergiacomi/eertree-or-palindromic-tree-82453e75025b

και πρόγραμμα σε java εδώ: https://github.com/alessiop86/eertree/tree/master/src/main/java/alessiop86/algorithms/eertree

Παραδείγματα σε διάφορες γλώσσες χωρίς eetree, έχει και Python.

https://www.geeksforgeeks.org/longest-palindrome-substring-set-1/

Επεξ/σία από solarpower
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@solarpower

Από το λινκ που δίνεις φάινεται ότι το εερτρεε δεν είναι αλγόριθμος. Είναι ένα datastructutre επάνω στο οποίο εφαρμόζεται κάποιος αλγόριθμος για να αναζητήσεις palidnromes σε strings. Γενικώς η ανάπτυξη datastructure για την λύση ενός προβλήματος μου φαίνεται λίγο υπερβολή. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

18 λεπτά πριν, solarpower είπε

Εγώ θα τους έλεγα για τον eertree και θα σταμάταγα εκεί (σιγά μην τον έγραφα κιόλας). Διότι είναι ο καλύτερος αλγόριθμος. 

Δημοσιεύθηκε το 2014 https://arxiv.org/pdf/1506.04862.pdf

Εσύ τους έφτιαξες κάτι με O(n^2) ενώ με χρήση eertree έχουμε O(n*log(a)),όπου a το μέγεθος του αλφάβητου.

Άρθρο εδώ: https://medium.com/@alessiopiergiacomi/eertree-or-palindromic-tree-82453e75025b

και πρόγραμμα σε java εδώ: https://github.com/alessiop86/eertree/tree/master/src/main/java/alessiop86/algorithms/eertree

Παραδείγματα σε διάφορες γλώσσες χωρίς eetree, έχει και Python.

https://www.geeksforgeeks.org/longest-palindrome-substring-set-1/

Αυτο ειναι data structure, που πρωτη φορα το βλεπω tbh. Αυτοι κοιτανε τον τροπο που θα το λυσεις αλγοριθμικα. Μπορω και brute force να το λυσω, αλλα το efficient approach ειναι dynamic programming.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
2 ώρες πριν, najinblue3 είπε

Κοιτα επειδη προσφατα περασα απο συνεντευξη, δε νομιζω να ξερεις ποσο brutal ειναι τα πραγματα εκει εξω. Αν και ζω Σουηδια, μπορω να συνοψησω τι με ρωτησανε και νομιζω για ολες τις χωρες πλεον ειναι η ιδια εμπειρια.

3 coding challenges

1) binary search tree (dfs k να δω αν ειναι οντως binary search tree)

2) linked list merge (δινανε x linked lists, κ επρεπε να τις κανω merge)

3) palindromic substrings (input string, να ψαξω ολα τα unique substrings που ειναι palindromes)

Φυσικα το 1ο screen ηταν αυτο, και τωρα εχω pair programming. Και δεν τελειωνει εκει εχει κ αλλο interview

Πες μου πως θα το περασει καποιος αυτο, χωρις να ξερει αλγοριθμους. H εποχη της κορωνας εκανε ολες τις εταιρειες ιδιαιτερα "picky" και ειναι τρομερα δυσκολο εστω να βρεις entry δουλεια. 

 

Τα code challenges είναι λίγο παράξενα. Η ουσία των αλγορίθμων επειδή τυχαίνει να έχω διαβάσει κάποιους από αυτούς δεν είναι τελείως συμβατά με τα datastructure που σου δίνουν. Ο bfs είναι αλγόριθμος για γράφους. Ναι μεν μπορούμε να θεωρήσουμε το binary tree γράφο, αυτό όμως υποβιβάζει κάπως τον αλγόριθμο. To binary tree έχει άλλα traversals(έτσι λέγονται οι αλγόριθμοι που κάνους parse datastractures).

Επίσης το ίδιο πάνω κάτω για το merge .  Κανονικά εφαρμόζεται σε normal list αυτή που αυξάνει to index για να πάρεις το επόμενο στοιχείο. Οπότε και εδώ πρέπει να ανακαλύψεις τον τροχό.

 

Επεξ/σία από k33theod
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
2 ώρες πριν, najinblue3 είπε

Κοιτα επειδη προσφατα περασα απο συνεντευξη, δε νομιζω να ξερεις ποσο brutal ειναι τα πραγματα εκει εξω. Αν και ζω Σουηδια, μπορω να συνοψησω τι με ρωτησανε και νομιζω για ολες τις χωρες πλεον ειναι η ιδια εμπειρια.

3 coding challenges

1) binary search tree (dfs k να δω αν ειναι οντως binary search tree)

2) linked list merge (δινανε x linked lists, κ επρεπε να τις κανω merge)

3) palindromic substrings (input string, να ψαξω ολα τα unique substrings που ειναι palindromes)

Φυσικα το 1ο screen ηταν αυτο, και τωρα εχω pair programming. Και δεν τελειωνει εκει εχει κ αλλο interview

Πες μου πως θα το περασει καποιος αυτο, χωρις να ξερει αλγοριθμους. H εποχη της κορωνας εκανε ολες τις εταιρειες ιδιαιτερα "picky" και ειναι τρομερα δυσκολο εστω να βρεις entry δουλεια. 

 

Καλά και τα τρία προβλήματα είναι στα 50+ must read θεματα του codeleet. Αν δεν τα εχεις λυσει ομως προσφατα, ειναι δυσκολο ενδεχωμενος να τα βγαλεις στης συνθηκες μια συνεντευξης, ενω πχ στην καθυμερινοτητα σου ενδεχωμενος να το ελυνες σε 5 λεπτα. 

Βασικά πχ linked lists για παραδειγμα, το ελυνες σε 5 δευτερα κανοντας join τις 2 λυστες, και μετα sort. Η πυθανοτητα να αξιζει να κανεις το sort μονος σου, αν και δεν εχει πρακτικη αξια, ειναι ενδιαφερον σαν θεμα, αλλα για να το λυσεις στην ανεση του σπιτιου σου, οχι στις συνθηκες μιας συνεντευξης. Εκτως αμα η ολη συνεντευξη γινει σωστα, και υπαρχει διαλογος κατα της διακρεια  την συνεντευξης. Ετσι αλλωστε θα καταλαβεις πολυ περισσοτερα, απο αν δεν υπηρχε διαλογος και απλα ειχε λυσει το θεμα 1 μερα πριν σε codeleet.

15 ώρες πριν, solarpower είπε

Ακριβώς @Papakaliati. Αλλά έτσι είναι τα πράγματα στο κόσμο της εργασίας. Εκτός αν έχεις διδακτορικό και η εταιρεία που δουλεύεις λέγεται NASA, ή εφάμιλλη  και σχεδιάζεις το μελλοντικό πρωτόκολλο επικοινωνίας διαστημικών συσκευών! Αλλά ο κόσμος δεν κάνει συνήθως αυτές τις δουλειές. Και το παλληκάρι εδώ, με το πτυχίo μηχανικού ΤΕΙ, ή ΑΤΕΙ ή ότι θες να τα πεις, δείχνει ένα ενδιαφέρον. Να τον τρομάξουμε με τα παραδείγματα επιστημόνων με τόνους συγγράμματα; Δεν πρόκειται να γίνει κάτι τέτοιο. Θα εργαστεί σε αυτό που λες ΥΠΟ-κατηγορία, η οποία είναι το πλήθος. Ας μην ζητάμε από τον κάθε άλλο να γίνει κάτι που δεν πρόκειται να γίνει.

Να γίνει code monkey, elephant, shark...ότι θες. Να το ευχαριστηθεί και να τα οικονομήσει. Γιατί έτσι περπατάει η δουλειά γενικώς και όχι μόνο στην Ελλάδα. Απλά στο εξωτερικό πουλάνε από κώδικα στη τιμή πχ των 85 δολαρίων μέχρι και "τζάμπα" κώδικα που για να τον κατανοήσεις πρέπει να σκάσεις χιλιάρικα για υποστήριξη.

 

Κάτσε ρε @solarpower, δεν κάνει μόνο η Nasa ερευνα, δεν χρειάζεται να έχεις διδακτορικό και δεν χρειάζεται να σχεδιάζεις το μελλοντικό πρωτόκολλο επικοινωνίας διαστημικών συσκευών, μην τα ισοπεδώνουμε και όλα. Στο χέρι του καθενός (και έχει κάποια χ προσόντα), να βρει μια εταιρία που τον γεμίζει και κάνει το κάτι παραπάνω, και να μην εγκλωβιστεί σε έναν άλφα ρόλο στην τελική. Προσωπικά δεν έχω δουλέψει σε εταιρία, που να μην έκανα κάτι (σχετικά) ιδιαίτερο και σπάνιο, ενώ η κάθε θέση και αντικείμενο μια ήτανε τελείως διαφορετική μεταξύ του.  

Επεξ/σία από Papakaliati
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι παιδια ειναι προβληματα σε top coding challenges και τα περασα γτ ειχα προετοιμαστει. Γενικα ομως η ολη διαδικασια να λυνεις τετοια puzzles κατω απο αγχος και με χρονικα περιθωρια ειναι πολυ δυσκολη

@Papakaliati ετσι ηταν με συζητηση και καταληξαμε καπου. Δεν ηταν απλα να γραψεις απεξω και ανακατωτα ενα προγραμμα που παιζει να εχεις λυσεις 200 φορες. Αυτοι κοιτανε πως σκεφτεσαι κτλπ. Γενικα κανουν και μικρα variations αν δουνε οτι το εχεις λυσει και εισαι πολυ ανετος. 

@k33theodναι μπορεις να το λυσεις και με inorder postorder κτλπ traversals. Γτ η ασκηση ξεκινησε με validate, και κατεληξε σε βρες τον μεσο ορο των values σε καθε level. Και τωρα που το θυμηθηκα το ελυσα με bfs και queue

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν μας είπες το καλό! Για πόσα λεφτά ήταν η θέση;

1 ώρα πριν, k33theod είπε

@solarpower

Από το λινκ που δίνεις φάινεται ότι το εερτρεε δεν είναι αλγόριθμος. Είναι ένα datastructutre επάνω στο οποίο εφαρμόζεται κάποιος αλγόριθμος για να αναζητήσεις palidnromes σε strings. Γενικώς η ανάπτυξη datastructure για την λύση ενός προβλήματος μου φαίνεται λίγο υπερβολή. 

Φυσικά είναι ένα datastructure, το οποίο όμως έχει συγκεκριμένο σκοπό. Έτσι ο αλγόριθμος βασίζεται σε αυτό! Δεν είναι δε καθόλου υπερβολή να έχεις ένα datastructure, όταν η απόδοση είναι το ζητούμενο!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, solarpower είπε

Δεν μας είπες το καλό! Για πόσα λεφτά ήταν η θέση;

Αυτα δε λεγονται φιλε, ειναι παντως καλος ο μισθος για Σουηδια

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 ώρες πριν, najinblue3 είπε

Ναι παιδια ειναι προβληματα σε top coding challenges και τα περασα γτ ειχα προετοιμαστει. Γενικα ομως η ολη διαδικασια να λυνεις τετοια puzzles κατω απο αγχος και με χρονικα περιθωρια ειναι πολυ δυσκολη

@Papakaliati ετσι ηταν με συζητηση και καταληξαμε καπου. Δεν ηταν απλα να γραψεις απεξω και ανακατωτα ενα προγραμμα που παιζει να εχεις λυσεις 200 φορες. Αυτοι κοιτανε πως σκεφτεσαι κτλπ. Γενικα κανουν και μικρα variations αν δουνε οτι το εχεις λυσει και εισαι πολυ ανετος. 

@k33theodναι μπορεις να το λυσεις και με inorder postorder κτλπ traversals. Γτ η ασκηση ξεκινησε με validate, και κατεληξε σε βρες τον μεσο ορο των values σε καθε level. Και τωρα που το θυμηθηκα το ελυσα με bfs και queue

Κοιτά @najinblue3, αμα κατσεις μια 5 μερες, 8 ωρες την μερα λυνοντας τετοια θεματα (οχι αντιγραφοντας, λύνοντας), μετα προφανως και τα variations τους τα λυνεις ανετοτατα, και μπορεις να δικαιλογησεις τι και πως και γιατι το κανεις. Αυτο προφανως δεν σε κανει καλυτερο στην δουλεια σου, σε κανει καλυτερο στο να λυνεις τετοια προβληματα κατω απο αυτες τις συνθηκες.

Οταν αυριο μεθαυριο στην δουλειά σου αντιμετωπησεις το ιδιο προβλημα, το σημαντικο δεν είναι να ξέρεις πως να το λύσεις από την αρχή μέχρι τελους, το σημαντικό είναι να μπορείς να αξιολογήσεις περίπου ποια λύση πρέπει να εξερευνήσεις. Την λύση καθαυτή μπορείς να την φρεσκάρεις με ένα γοογλαρισμα. 

Ελαφρός εκτός θέματος, αλλά ήθελα να το αναφέρω. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

8 λεπτά πριν, Papakaliati είπε

Κοιτά @najinblue3, αμα κατσεις μια 5 μερες, 8 ωρες την μερα λυνοντας τετοια θεματα (οχι αντιγραφοντας, λύνοντας), μετα προφανως και τα variations τους τα λυνεις ανετοτατα, και μπορεις να δικαιλογησεις τι και πως και γιατι το κανεις. Αυτο προφανως δεν σε κανει καλυτερο στην δουλεια σου, σε κανει καλυτερο στο να λυνεις τετοια προβληματα κατω απο αυτες τις συνθηκες.

Οταν αυριο μεθαυριο στην δουλειά σου αντιμετωπησεις το ιδιο προβλημα, το σημαντικο δεν είναι να ξέρεις πως να το λύσεις από την αρχή μέχρι τελους, το σημαντικό είναι να μπορείς να αξιολογήσεις περίπου ποια λύση πρέπει να εξερευνήσεις. Την λύση καθαυτή μπορείς να την φρεσκάρεις με ένα γοογλαρισμα. 

Ελαφρός εκτός θέματος, αλλά ήθελα να το αναφέρω. 

Δε διαφωνω καθολου, και εγω τετοια challenges τα βρισκω εντελως ανουσια. Απλα περιεγραψα πως ειναι το recruiting αυτη τη στιγμη με την κορωνα και τι παιζει να συναντησεις. Οταν βρηκα τη 1η μου δουλεια εδω πριν 3 χρονια μετα το μεταπτυχιακο μου, με ρωτησανε τι διαφορα εχει η arraylist με το set, και πως δουλευει το hashmap! Η διαφορα στο τοτε με το τωρα ειναι τεραστια!

Και φυσικα για να κατσεις να λυσεις τετοια challenges, πρεπει να ξερεις τα data structures(απο arrays μεχρι trees, linkedlists etc) και τους βασικους αλγοριθμους. 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
3 ώρες πριν, najinblue3 είπε

Αυτο ειναι data structure, που πρωτη φορα το βλεπω tbh. Αυτοι κοιτανε τον τροπο που θα το λυσεις αλγοριθμικα. Μπορω και brute force να το λυσω, αλλα το efficient approach ειναι dynamic programming.

Εφόσον μπορείς να δικαιολογήσεις την απαντηση σου (έστω και αν είναι τέρμα λάθος), δεν έχει και πολύ σημασία πως το προσεγγίζεις. That being said, αμα σου επερνα συνεντευξη @solarpower η πρωτη σου ερωτηση για την απαντηση σου, θα ηταν: Δωσε ενα παραδειγμα real world situation που εχεις χρησιμοποιησει η θα το χρησιμοποιουσεις. 

9 λεπτά πριν, najinblue3 είπε

Δε διαφωνω καθολου, και εγω τετοια challenges τα βρισκω εντελως ανουσια. Απλα περιεγραψα πως ειναι το recruiting αυτη τη στιγμη με την κορωνα και τι παιζει να συναντησεις. Οταν βρηκα τη 1η μου δουλεια εδω πριν 3 χρονια μετα το μεταπτυχιακο μου, με ρωτησανε τι διαφορα εχει η arraylist με το set, και πως δουλευει το hashmap! Η διαφορα στο τοτε με το τωρα ειναι τεραστια!

Και φυσικα για να κατσεις να λυσεις τετοια challenges, πρεπει να ξερεις τα data structures(απο arrays μεχρι trees, linkedlists etc) και τους βασικους αλγοριθμους.

Δεν νομίζω ότι ο κορόνα άλλαξε το recruiting. Μερικες εταιριες απλα παντα εφαρμοζανε αυτου του τυπου τα τεστς. Ετυχε η πρωτη σου να μην το εκανε, ενω η δευτερη το εκανε. 

Ο λόγος που τα τεστ τέτοιου τύπου είναι άκυρα, είναι επειδή ένας fresh graduate εχει την δυνατοτητα να τα παει πολυ καλυτερα ακομη εναν ακομη και senior με ενα κιλο γνωσεις, παρολο που δεν υπαρχει εποδεμια συγκριση του τι μπορει να προσφερει ο καθενας τους στην εταιρια. Και αυτο επειδη ο graduate αυτο ειναι το μονο που ξερει, data structures, binary trees και τα σχετικα, ενω ο σενιορ χιλιαδες αλλα πραγματα. Βασικα κανενας δεν εχει την ψευδαίσθηση οτι οντως προσφερουν κατι, απλα ειναι ο πιο ευκολος και ανεξοδος τροπος, to thin the herd, και γιαυτο τετοια τεστς εφαρμοζονται σε junior και medior θεσεις.

Επεξ/σία από Papakaliati
  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

@Papakaliati  Βασικά αυτοί ψάχνουν να δουν πόσο ψαγμένος είναι ο νέος. Τώρα δεν νομίζω ότι για μια θέση junior να επεκταθούν σε λεπτομέρειες, απλά θα κοιτάξουν να δουν ότι δεν λέει αρλούμπες, δηλαδή να προσπαθεί να μπερδέψει την απάντηση ώστε να φαίνεται ότι ξέρει. Όπως είπε και ο najinblue3 δεν του έδωσαν μια κόλλα και έφυγαν για να γυρίσουν να δουν το αποτέλεσμα, αλλά ήταν από πάνω του (έτσι κατάλαβα, αλλιώς να με διορθώσει). Δηλαδή συζητούσαν μαζί του και εκεί επάνω μπορούσε να πει αν ήξερε για το eertree (το οποίο είναι του 2014, και ίσως να μη διδάσκεται παντού), Το οποίο δεν είναι κάτι τρελό, αλλά είναι πράγματι αλγόριθμος, όπου αντί να κάνει memoize σε λίστα το κάνεις σε δένδρο.

@najinblue3

Για τις απολαβές δεν είναι ντροπή, ούτε κάτι που δεν λέγεται, για μια δουλειά στη Σουηδία. Εγώ ρωτάω από περιέργεια, επειδή εσύ έχεις μια ιδέα στη χώρα αυτή, ενώ εγώ δεν έχω. Για την Ελλάδα τα ξέρεις, τα έχουν πει εδώ στο φόρουμ άλλοι και συμφωνώ μαζί τους απόλυτα.

Επεξ/σία από solarpower
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...