मी प्रारंभिकपणे ह्या सॉफ्टवेअर इंजिनिअर बनण्याच्या अभ्यास विषयांची संक्षिप्त सूची म्हणून हे निर्माण केलं होतं, परंतु ते आता आपण दिसतं असं मोठं सूची व्हायला वाढलं. या अभ्यास योजनेवर पास केल्यानंतर, मी Amazon वर सॉफ्टवेअर विकास अभियंता म्हणून नोकरी मिळवली! आपल्याला असं अधिक अभ्यास करण्याची आवश्यकता नसेल. काहीही आपल्याला येऊ शकणार नाही म्हणून आम्ही दाखवणार आहोत.
मी दिवसात 8-12 तास अभ्यास केले, काही महिन्यांसाठी. या माझ्या कथेचं असं आहे: Google साक्षात्कारासाठी मी 8 महिन्यांसाठी पूर्ण वेळ अभ्यास केलं आहे का नाही हे का
कृपया लक्षात घ्या: आपल्याला मला अधिक अभ्यास करण्याची आवश्यकता नसेल. मी अनावश्यक गोष्टींवर अनेक वेळा वेळा अवधी निघाली. त्याबद्दल अधिक माहिती खाली आहे. आपल्या मौल्यवान वेळाची व्यर्थ झाली नाही, मी आपल्याला त्यांच्या अभ्यासात येण्यासाठी मदत करेन.
येथील आयटम्स आपल्याला केवळ किटकिटायला तक्रारी साक्षात्कारासाठी अचूक तयार करतील, समाविष्ट: Amazon, Facebook, Google, आणि Microsoft जस्ती राजकारणी कंपन्या.
तुम्हाला शुभेच्छा!
भाषांतर:
भाषांतर कार्यात आहे:
हे माझ्या अनेक महिन्यांचे अभ्यास योजना आहे, ज्यामध्ये मी एक मोठ्या कंपनीसाठी सॉफ्टवेअर इंजिनिअर बनण्यासाठी प्रयत्नशील असेल.
आवश्यक:
- कोडिंगसह थोड्या अनुभवासह (वेरिअबल्स, लूप्स, मेथड्स/फंक्शन्स, इत्यादी)
- धैर्य
- वेळ
ध्यान द्या कि ही सॉफ्टवेअर इंजिनिअरिंगसाठी अभ्यास योजना आहे, असे की फ्रंटएंड इंजिनिअरिंग किंवा फुल-स्टॅक डेव्हलपमेंटसाठी नाही. हे वास्तविकपणे त्या करियर मार्गांसाठी अनेक रोडमॅप आणि पाठ्यक्रम इतर कुठल्या ठिकाणी उपलब्ध आहेत (https://roadmap.sh/ पाहा).
कॉलेज कॉम्प्युटर सायन्स कार्यक्रममध्ये शिकायला खूप काही आहे, परंतु मुलाखतसाठी 75% जाणून असल्यास ह्याची काही पुरेशी माहिती आहे, म्हणजे मला येथे आवर्जू केलेले आहे. पूर्ण CS स्वतःशिक्षित कार्यक्रमसाठी, माझ्या अभ्यास योजनेतील संसाधने कामरान अहमदच्या कॉम्प्युटर सायन्स रोडमॅपमध्ये समाविष्ट केली गेली आहेत: https://roadmap.sh/computer-science
- हे काय आहे?
- ते का वापरावे?
- ते कसे वापरावे
- तुम्हाला तुम्हाला मोठा प्रतिबंधित वाटत नसावं
- व्हिडिओ संसाधनांबद्दल एक नोट
- प्रोग्रामिंग भाषा निवडा
- डेटा संरचनांसाठी पुस्तके आणि अल्गोरिदम्स
- मुलाखत सज्जा पुस्तके
- माझे चुकीचे का न करा
- तुम्हाला काहीही दिसेल नाही याबद्दल
- दैनिक योजना
- कोडिंग प्रश्नांचे अभ्यास
- कोडिंग समस्या
- अल्गोरिदमिक जटिलता / बिग-ओ / अनिन्द्य विश्लेषण
- डेटा संरचना
- अधिक माहिती
- झाडे
- झाडे - परिचय
- बायनरी शोध झाडे: बीएसटी
- हीप / प्राथमिक क्यू / बायनरी हीप
- संतुलित शोध झाडे (सामान्य अवधारणा, तपशील नाही)
- पट्ट्यांतरण: प्रीऑर्डर, इनॉर्डर, पोस्टऑर्डर, बीएफएस, डीएफएस
- क्रमवार सामुग्री व्यवस्थापन
- निवड
- उत्पादन
- हीपसॉर्ट
- क्विकसॉर्ट
- मर्जसॉर्ट
- ग्राफ
- प्रेषित
- अप्रेषित
- अजॅसेन्सी मॅट्रिक्स
- अजॅसेन्सी लिस्ट
- पट्ट्यांतरण: बीएफएस, डीएफएस
- अधिक माहिती
- निवड अभ्यास
- तुमचा रिझ्यूमे अद्यतन करा
- नोकरी शोधा
- मुलाखत प्रक्रिया आणि सामान्य मुलाखत साजरी
- मुलाखत येत्या वेळेसाठी ध्यानात असल्याचं का
- मुलाखतादारांसाठी प्रश्न
- एकदा तुम्हाला नोकरी मिळाली नंतर
---------------- सर्व खालीलपैकी विचारण्यात आणणे ऐच्छिक आहे. ----------------
- अतिरिक्त पुस्तके
- सिस्टम डिझाइन, स्केलेबिलिटी, डेटा हॅंडलिंग (जेव्हा तुम्हाला 4+ वर्षांचा अनुभव आहे)
- अधिक शिक्षण
- कॉम्पायलर्स
- इमॅक्स आणि व्हाई(एम)
- यूनिक्स कमांड लाईन टूल्स
- माहिती सिद्धांत
- पॅरिटी & हमिंग कोड
- एन्ट्रॉपी
- क्रिप्टोग्राफी
- संपीडन
- कंप्यूटर सुरक्षा
- कचरा संग्रह
- समान कार्यक्रमीकरण
- संदेशपाठ, सिरिअलिझेशन, आणि कतार प्रणाली
- ए*
- फास्ट फूरियर ट्रांसफॉर्म
- ब्लूम फिल्टर
- हायपरलॉगलॉग
- स्थानिकता-संवेगी ह्याशिंग
- वॅन एम्डे बोस झाडे
- अभिवृद्धित डेटा संरचना
- संतुलित शोध झाडे
- AVL झाडे
- स्प्ले झाडे
- लाल/काळ झाडे
- 2-3 शोध झाडे
- 2-3-4 झाडे (किंवा 2-4 झाडे)
- N-अरे (K-अरे, M-अरे) झाडे
- B-झाडे
- k-D झाडे
- स्किप झाडे
- नेटवर्क फ्लो
- विभाजित सेट्स & युनियन फिंड
- फास्ट प्रोसेसिंगसाठी गणित
- ट्रेप
- लीनियर प्रोग्रामिंग
- ज्यामिती, कोणज्यात्मक कवळ
- विचारमगारी गणित
- काही विषयांवर अतिरिक्त माहिती
- व्हिडिओ सिरिज
- कॉम्प्यूटर विज्ञान पाठ्यक्रम
- पेपर्स
जर तुम्ही एक मोठ्या कंपनीसाठी सॉफ्टवेअर इंजिनिअर म्हणून काम करण्याची इच्छा असेल, तर तुम्हाला हे गोष्टी माहित असणे आवश्यक आहे.
जर तुम्ही कॉम्प्युटर सायन्समधील डिग्री मिस केली असेल, जसे मला झालेलं, तर हे तुम्हाला पूर्ण करून चार वर्ष तुमचे आयुष्य उजवावे.
जेव्हा मी हा प्रकल्प सुरू केला, तेव्हा मला एक स्टॅक आणि एक हिपचा फरक माहित नसलेलं, बिग-ओ काहीही नसलेलं, किव्हा वृक्षांचे काहीही माहित नसलेलं, किंवा ग्राफ कसे अनुवर्तन करावा ते. जर मला कोणत्याही स्थितीत सॉर्टिंग अॅल्गोरिथम कोड करायचा होता, तर मी तुम्हाला सांगू शकतो की तो खूप खराब होता. माझ्याकडून विकसित केलेल्या प्रत्येक डेटा संरचनेला भाषेतून बनवले गेले होते, आणि मला त्यांचं कसं काम करतं याचं माहित नसलं. मला कधीही मेमरी व्यवस्थापित करायची असते नाही, जर काही प्रक्रिया जी चालू होती त्याच्यावेळी "मेमरी आउट ऑफ मेमरी" चुका देतात, आणि तर मी काही मल्टीडिमेंशनल अॅरे वापरलेले होते आणि हजारों एसोसिएटिव्ह अॅरे, पण मला कधीही त्यांची संरचना सुरूसुरू करण्याची गरज नसली.
हा एक लांब प्लॅन आहे. तो तुमच्या अवधीत महिन्यां लागू शकतो. जर तुम्ही आधीच बरेच काही ओळखत असाल, तर तुम्हाला ते चांगल्या वेळेत अधिक काही नसेल.
सर्व काहीच्या खाली एक आउटलाईन आहे, आणि तुम्हाला पायासाठी प्रवृत्त करण्यासाठी वस्तुंची अगदीची क्रमवारी नक्कीच उघडवायची आहे.
मी GitHubचा विशेष मार्कडाउन फ्लेवर वापरत आहे, जिथे प्रगतीसाठी कामाच्या याद्या ट्रॅक करण्यासाठी कार्य सूची आहेत.
या पानावर, प्रथमत: कोड बटणावर क्लिक करा, त्यानंतर "Download ZIP" वर क्लिक करा. झिप फाइल डाउनलोड करा आणि तुम्ही टेक्स्ट फाइलसह काम करू शकता.
जर तुम्ही मार्कडाउन काही समजता कोड एडिटरमध्ये उघडला असेल, तर तुम्हाला सर्व काही सुंदरपणे फॉर्मॅट केलेलं दिसेल.
नविन शाखा तयार करण्यासाठी, तुम्हाला हे प्रमाणित करण्यासाठी, फक्त ब्रॅकेट्समध्ये x ठेवा: [x]
-
GitHub रेपोची फोर्किंग:
https://github.com/jwasham/coding-interview-university
ला जाऊन फोर्क करा बटणावर क्लिक करून. -
तुमच्या स्थानिक रेपोवर क्लोन करा:
git clone https://github.com/<तुमचे_GitHub_वापरकर्तानावा>/coding-interview-university.git cd coding-interview-university git remote add upstream https://github.com/jwasham/coding-interview-university.git git remote set-url --push upstream DISABLE # तुमचे व्यक्तिगत प्रगती मूळ रेपोवर पुश करण्यासाठी
-
बदलांची प्रगती पूर्ण केल्यानंतर सर्व बॉक्सवर X चिन्हांनी चिन्हांकित करा:
git commit -am "माझी व्यक्तिगत प्रगती चिन्हांकित केली" git pull upstream main # तुमचा फॉर्क आपडेट ठेवा, मूळ रेपोमध्ये बदलांसाठी git push # फक्त तुमच्या फोर्कमध्ये पुश करते
- सफळ सॉफ्टवेअर इंजिनियर तेजस्वी आहेत, परंतु अनेकांना त्यांना अनेक तेजस्वी असल्याचं असंवेदनशीलतेवर विश्वास आहे.
- खालील व्हिडिओंमध्ये तुम्हाला ह्या असंवेदनशीलतेवर नियंत्रण मिळवायला मदत करू शकतील:
काही व्हिडिओंची उपलब्धता केवळ Coursera किंवा EdX वर नोंदवली जाते. ते MOOCs म्हणतात. कधी कधी क्लास सत्र चालू नसत्या असताना तुम्हाला काही महिने थांबायला लागतात, त्यामुळे तुम्हाला प्रवेश मिळत नाही.
ह्या ऑनलाइन कोर्स संसाधनांवर, विनामूल्य आणि सर्वदा उपलब्ध सार्वजनिक स्रोतांमध्ये, YouTube व्हिडिओ (आणि आता उनिव्हर्सिटी लेक्चर्स प्रियतम) चे विचार करावे ह्याचं चांगलं असेल. त्यासाठी कि लोक येथे नेहमीच अध्ययन करू शकतात, केवळ काही ऑनलाइन कोर्स चालू असताना नाही.
तुम्हाला कोडिंग साक्षात्कारांसाठी एक प्रोग्रामिंग भाषा निवडणे आवश्यक आहे, परंतु संगणक विज्ञानाच्या अवधारणांसाठी एक भाषा साठवणे आवश्यक आहे.
प्रेफरेब्ली, भाषा समान असावी, तसेच तुम्ही फक्त एकाची प्रतिष्ठा असणे आवश्यक आहे.
मला अभ्यास योजना केल्यानंतर जास्तीत जास्त लष्करांसाठी मी २ भाषांचा वापर केला: C आणि Python
- C: खूप कमी स्तरावर. तुम्हाला पॉइंटर्स आणि मेमरी विभाजन / मेमरी साहित्य करण्यास मांडतो, म्हणजे तुम्ही डेटा संरचना
आणि अॅल्गोरिदमची अनुभव करता. उच्च स्तरावरील भाषांमध्ये जसे की Python किंवा Java, ते तुमच्यावरून लपवलेले आहेत. दिवसांतील कामात, हे अद्भुत आहे,
परंतु केवळ जेणेकरून तुम्ही या खाली स्थितीकिंवा अॅल्गोरिदमच्या खूप कमी स्तरावरील डेटा संरचना कसे तयार केले हे समजून घेणे अद्भुत आहे.
- C व्यापारच्या आहे. तुम्हाला पुस्तके, व्याख्याने, व्हिडिओ, सर्वजगात दरम्यान उदाहरणे दिसेल जेणेकरून तुम्ही अभ्यास करत असताना.
- The C Programming Language, 2nd Edition
- ही लहान पुस्तक आहे, परंतु ती तुम्हाला C भाषेत एक महत्त्वाची परिपूर्ण प्रतिष्ठा देईल आणि जर तुम्ही थोडी कसरत करता तर तुम्ही लवकरच उत्तम होईल. C समजल्याने तुम्हाला कसं काम करतं हे समजायला मदत करतं.
- तुम्हाला पुस्तकात खूप जास्त अगाऊ जाऊन आवश्यक नाही (किंवा त्याच्यातून संपूर्ण केले जाऊन). फक्त ह्या अंतर्गत जाऊन येत आहे की तुम्हाला सीतीत वाचणे आणि लिहिणे कशी करावे हे आत्ता तुमच्याकडून समजले जाईल.
- Python: आधुनिक आणि खूप व्याक्तिपूर्ण, मी त्याला शिकला कारण हे फक्त खूप उपयुक्त आहे आणि आपल्याला साक्षात्कारात कमी कोड लिहायला परवानगी देते.
ह्या माझी प्राधान्य. प्रियंकर तुम्ही काय करू इच्छिता, नातं.
तुम्हाला ती आवश्यक असणार नसेल, परंतु एक नवीन भाषा शिकण्यासाठी काही साइट्स आहेत:
तुम्ही कोडिंग भागात तुम्हाला आराम असलेली भाषा वापरू शकता, परंतु मोठ्या कंपन्यांसाठी, ह्या ठिकाणी दिलेल्या भाषांमध्ये स्थिर निवड:
- C++
- Java
- Python
तुम्ही ह्या वापरू शकता, परंतु सुरुवातीत जाणून घ्या. त्यांमध्ये अवघडारे नुकसान असू शकतात:
- JavaScript
- Ruby
येथे माझं एक लेख आहे जेव्हा तुम्हाला साक्षात्कारासाठी भाषा निवडण्याबद्दल: साक्षात्कारासाठी एक भाषा निवडा. हा माझा लेख ऑरिजिनल लेख आहे ज्याचा आधार माझं पोस्ट केला गेला होता: साक्षात्कारासाठी प्रोग्रामिंग भाषा निवडणे
तुम्हाला ह्या भाषांमध्ये खूप आराम असणे आणि संज्ञान असणे आवश्यक आहे.
निवडीसाठी अधिक माहिती वाचा:
भाषा-विशिष्ट संसाधनांसाठी येथे पहा
ह्या पुस्तकांनी कॉम्प्यूटर विज्ञानात आपले आधार रचले जाईल.
फक्त एक निवडा, ज्यात तुम्ही स्वत: आराम असेल भाषेत.
- Algorithms in C, Parts 1-5 (Bundle), 3rd Edition
- मूलभूत, डेटा संरचना, क्रमवार्ता, शोध, आणि ग्राफ अॅल्गोरिदम
- Data Structures and Algorithms in Python
- Goodrich, Tamassia, Goldwasser यांचे
- मला ह्या पुस्तकांविषयी आवडलं. हे सर्व काही आणि अधिक कवर केलं.
- पायथनिक कोड
- माझं चमकदार पुस्तक अहवाल: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
तुमची निवड:
- Goodrich, Tamassia, Goldwasser
- Sedgewick आणि Wayne:
- Algorithms
- विनामूल्य Coursera कोर्स ज्याचा पुस्तकावर अध्यापन केला जातो (लेखकांद्वारे शिकवलेलं!):
तुमची निवड:
- Goodrich, Tamassia, आणि Mount
- Sedgewick आणि Wayne
तुम्हाला आणखी बर्याच नकाशी करण्याची आवश्यकता नाही. खरं "क्रॅकिंग द कोडिंग इंटरव्ह्यू" किती ह्या तरी अॅल्गोरिदम बराबरीचं काही किती पर्याय खरेदी केली जाऊ शकते, परंतु मला अधिक प्रशिक्षण देण्यासाठी आणि मला आदतें आली असतात.
मी दोन्ही खरेदी केली. त्यांनी मला प्रचंड प्रशिक्षण दिलं.
- Programming Interviews Exposed: Coding Your Way Through the Interview, 4th Edition
- उत्तर C++ आणि जावा मध्ये
- विशेषत: Cracking the Coding Interviewसाठी चांगलं वार्म-अप
- खूप कठीण नाही. जेव्हा तुम्ही एक साक्षात्कारात दिसणार प्रश्नांच्या प्रमाणाच्या जास्तीत जास्त किती मजेशीर प्रश्न मिळवतात (मला काहीचं वाचलं आहे)
- Cracking the Coding Interview, 6th Edition
- उत्तर जावा मध्ये
एक निवडा:
- Elements of Programming Interviews (C++ version)
- Elements of Programming Interviews in Python
- Elements of Programming Interviews (Java version) - Companion Project - Method Stub and Test Cases for Every Problem in the Book
ह्या यादीत अनेक महिन्यांच्या अंतर्गत वाढले आहे, आणि होय, ह्या यादीत काहीतरी अधिक झाले आहे.
येथे माझ्यांनी चुका केल्या आहेत त्यामुळे तुम्हाला एक चांगली अनुभवासाठी हवं. आणि तुम्ही महिन्यांच्या वेळांची जतन करेल.
मी आयचं व्हिडिओ पाहिलं आणि कॉपियस नोट्स घेतले, आणि महिन्यांनंतर अनेक काही मला आठवलं. मला आमच्या नोटसबद्दल 3 दिवसं वेळं लागलं, परंतु मला त्यांचं अधिक माहिती हवं नसलं.
कृपया, हे वाचा आणि तुम्हाला माझ्या चुकांचं तयारी करून घ्यायला येणार नाही.
कॉम्प्यूटर विज्ञानाचे ज्ञान राखणे.
मी समस्या सोडण्यासाठी एक छोटं फ्लॅशकार्ड साइट बनवलं, ज्यावर मी 2 प्रकारच्या फ्लॅशकार्ड जोडवू शकतो: सामान्य आणि कोड. प्रत्येक कार्डांनी वेगवेगळी स्वरुपणं आहेत. मी मोबाइल-पहिलं वेबसाइट बनवलं, म्हणजे मी आपल्या फोन किंवा टॅबलेटवर पुनरावलोकन करू शकतो, आता कोठे आहे.
विनामूल्यसेच बनवा:
मला माझ्या फ्लॅशकार्ड साइटवर वापरण्याची शिफारस करत नाही. येथे खूप आहेत आणि अधिकांश ते उत्तररूप नसलेल्या ते तुम्हाला आवडणार नाही.
परंतु जर तुम्हाला मला ऐकायला नको, तर इथे आहे:
आणि नक्की काळजी करा की मी अत्यंतात जास्त काही कवर करत आहे. यात सर्व कुठल्या आसंतात आणि मला यात आवडते, मनोबद्धतेच्या तत्त्वांनी सामान्यतः ते वापरतात. ज्ञान गहाळ करण्यासाठी करून घेणे.
अन्किच्या फ्लॅशकार्डवर किंवा त्यातील व्हिडिओ पाहून माहिती कच्च करण्याची एक वैकल्पिक उपाय आहे. ते तुम्हाला लक्ष देण्यासाठी आहे, अन्की पुनरावलोकन प्रणाली वापरतात. ते वापरकर्ता मित्रवत, सर्व प्लेटफॉर्म्सवर उपलब्ध आहे, आणि एक क्लाउड सिंक प्रणाली असते. iOS वर $25 खर्च होते परंतु इतर प्लेटफॉर्म्सवर विनामूल्य आहे.
अन्की फॉर्मॅटमध्ये माझ्या फ्लॅशकार्ड डेटाबेस: https://ankiweb.net/shared/info/25173560 (आभार @xiewenya).
काही विद्यार्थ्यांना श्वेत जागा विचारांसह फॉर्मॅटिंग समस्या आल्या आहेत की ते खालीलप्रमाणे सुधारणे केले जाऊ शकतात: डेक उघडा, कार्ड संपादित करा, कार्ड्स क्लिक करा, "स्टाइलिंग" रेडिओ बटण निवडा, आणि "स्टाइलिंग" रेडिओ बटण निवडा, आणि त्या कार्ड क्लासला "सफेद अंतराळ: प्री;" घाला.
ह्या विषयाच्या अध्ययनात आहत तेव्हा कोडिंग इंटरव्यू प्रश्नांचं करा.
तुम्हाला समस्यांचं समाधान करण्यास आवश्यक आहे, किंवा तुम्ही विसरलं जाऊ शकता. मी ही चूक केली.
एकदा आपल्याला एक विषय शिकला आहे, आणि तुम्ही त्यात काही पर्याय अनुभवत आहात, उदाहरणार्थ, लिंक्ड लिस्ट:
- कोडिंग इंटरव्यू पुस्तके (किंवा कोडिंग समस्या वेबसाइट, खाली दिलेल्या)
- 2 किंवा 3 प्रश्नांचा उत्तर द्या लिंक्ड लिस्टसाठी.
- पुढील शिकण्याच्या विषयात प्रवेश करा.
- नंतर, पुन्हा जाऊन आपल्याला दुसऱ्या 2 किंवा 3 लिंक्ड लिस्ट समस्यांचं उत्तर द्या.
- नवीन विषयासोबत हे करा आपल्याला प्रत्येक नवीन विषय शिकण्याच्या वेळी.
तुम्हाला तुमच्या सर्व या प्रश्नांना शिकताना समस्यांचं समाधान करत राहावं लागेल, शिकताना नंतर नाही.
तुम्हाला ज्ञानासाठी नाही, पण तुम्ही ज्ञान कसं लागू करायला तुम्हाला नोकरी मिळवण्यासाठी.
ह्यात कोडिंग समस्यांचे अनेक स्रोत आहेत, खालील लिंक्समध्ये आहेत. चालू राहा.
आहे काहीतरी मोठ्या महत्त्वाच्या वेळांचं सापडतात. ध्यान आणि एकाग्रता कठीण आहेत. ते संगीत सुरू करा शब्दनिर्देश असं अनुमति आहे आणि तुम्ही काही सुस्त सुद्धा लक्षात ठेवू शकता.
ह्या अभ्यासक्रमात असलेली प्रमुख तंत्रज्ञाने पण त्यांचा अभ्यास समाविष्ट नाहीत:
- जावास्क्रिप्ट (Javascript)
- एचटीएमएल, सीएसएस, आणि इतर फ्रंट-एंड तंत्रज्ञाने
- एसक्यूएल (SQL)
ह्या पाठ्यक्रमात अनेक विषय आहेत. प्रत्येकाची संभाव्यतः काही दिवसं, किंवा कधी काही आणि अधिक आणि दिवसांत अवलंबू शकते. याचे तुमच्या कार्यक्रमावर निर्भर आहे.
प्रत्येक दिवस, यादीतील पुढील विषय घ्या, त्याविषयावर काही व्हिडिओ पाहा, आणि नंतर त्या डेटा संरचनेचे किंवा ऍल्गोरिदमचे संवाद तुमच्या निवडलेल्या भाषेत लिहा.
तुमचं कोड येथे पाहू शकता:
तुम्हाला प्रत्येक ऍल्गोरिदम याद ठेवण्याची गरज नाही. तुम्हाला त्याची समज येण्यासाठी पर्याय असणे आवश्यक आहे किंवा तुम्ही स्वतःचं संवाद लिहू शकता.
आम्हाला ह्याचं का आवडतं? मी साक्षात्कारासाठी तयार नाही.
तुम्हाला कोडिंग समस्यांचा अभ्यास करण्याची गरज का आहे:
- समस्या स्वीकृती, आणि कुठल्या सर्वोत्तम डेटा संरचनांसाठी आणि ऍल्गोरिदम्समध्ये कसं फिट होईल हे ओळखणे
- समस्येसाठी आवश्यक अटी संग्रहण करणे
- साक्षात्कारात आपल्या मार्गाचं बोलणं, जसं तुम्ही साक्षात्कारात करेल
- कॉम्प्यूटरवर नक्कीचं व्हायटबोर्ड किंवा कागदावर कोड लिहणे, कॉम्प्यूटरवर नाही
- तुमच्या सोडलेल्या संदर्भांसाठी समय आणि स्थान जटिलता येण्याचे कल्पना करणे (मोठं-ओ खाली पहा)
- तुमच्या निवडलेल्या सोडांची किंवा ऍल्गोरिदमची टेस्टिंग करणे
साक्षात्कारातील पद्धतीसाठी एक योग्य, संवेदनशील समस्या-सोडवणे साठवण्यात येतं. तुम्ही ज्या कोडिंग साक्षात्कारात बुक्स मधून मिळवता, त्यापुढे ह्या प्रशिक्षणांचं अद्भुत आरंभ आहे: ऍल्गोरिदम डिझाइन कॅनव्हस
कोड व्हायटबोर्ड किंवा कागदावर लिहा, कॉम्प्यूटरवर नक्कीचं वाचवा. काही उदाहरणांसह परीक्षण करा. नंतर तो टाइप करा आणि ते कॉम्प्यूटरवर परीक्षण करा.
जर तुम्हाला घरात व्हायटबोर्ड नसेल, तर आर्ट स्टोरमधून एक मोठं ड्रॉइंग पॅड घ्या. तुम्हाला सोफावर बसुन अभ्यास करायचं आहे. हा माझा "सोफा व्हायटबोर्ड" आहे. मला फोटोत आढळवून दिलं. जेव्हा तुम्ही कलम वापरता, तुम्हाला मिटवायला इच्छित असेल. वेगवेगळ्या गोष्टींना जलगं झालं. मी कलम आणि मिटवा वापरतो.
कोडिंग प्रश्न अभ्यास इतरांच्या प्रोग्रामिंग समस्यांच्या उत्तर मेमराइझ करण्याबद्दल नसतं.
तुमचं कोडिंग साक्षात्कार पुस्तके विसरू नका इथे.
समस्या सोडणे:
कोडिंग साक्षात्कार प्रश्न व्हिडिओ:
- IDeserve (88 व्हिडिओ)
- टुशार रॉय (5 प्लेलिस्ट)
- समस्या समाधानांच्या पूर्ण व्हॉकथ्रूसाठी उत्तम
- निक व्हाइट - लीटकोड समाधान (187 व्हिडिओ)
- समाधान आणि कोड चे चांगले स्पष्टीकरण
- तुम्हाला थोडं वेळ मध्ये अनेक पाहू शकता
- फिशरकोडर - लीटकोड समाधान
चॅलेंज / अभ्यास संकेत:
- लीटकोड
- माझं आवडतं कोडिंग समस्या संकेत. तुमच्याला साक्षात्कारासाठी १-२ महिने तयारीसाठी पैसे वसूल आहेत.
- कोड वॉकथ्रूसाठी निक व्हाइट आणि फिशरकोडर व्हिडिओ पहा.
- हॅकरँक
- टॉपकोडर
- कोडफोर्स
- कोडिलिटी
- गीक्स फॉर गीक्स
- ऍल्गोएक्सपर्ट
- गूगल इंजिनिअर्सने तयार केलेला, हे तुमच्या कौशल्ये तयार करण्यासाठी सर्वोत्तम स्रोत आहे.
- प्रोजेक्ट युलर
- खूप माहितीसंवेदनशील आहे, आणि कोडिंग साक्षात्कारासाठी खूप उपयुक्त नसते
ठीक आहे, खूप बोलणं, लेकी शिकूया!
परंतु तुम्हाला शिकताना उपरोक्त कोडिंग समस्यांसह सुरू करण्याचं विसरू नका!
- येथे काही अमलात घेण्याची गरज नाही, तुम्ही केवळ व्हिडिओ पहा आणि टीके काढा! वाह!
- येथे खूप व्हिडिओ आहेत. तुम्हाला समजताना पर्यंत पर्याप्त व्हिडिओ पहायला लागेल. तुम्ही नेहमी परत येऊ शकता आणि पुनरावलोकन करू शकता.
- जर तुम्हाला हा सर्व गणित समजत नसेल, तर घाबरू नका.
- तुम्हाला केवळ ऍल्गोरिदमचं कंप्लेक्सिटी बिग-ओ च्या प्रकारात कसं व्यक्त करायचं हे समजून घ्यायचं आहे.
- हार्वर्ड सीएस50 - असिंप्टोटिक नोटेशन (व्हिडिओ)
- बिग ओ नोटेशन (सामान्य जलद ट्यूटोरियल) (व्हिडिओ)
- बिग ओ नोटेशन (आणि ओमेगा आणि थेटा) - सर्वात उत्तम गणितीय स्पष्टीकरण (व्हिडिओ)
- स्किना (व्हिडिओ)
- यूसी बर्कली बिग ओ (व्हिडिओ)
- अमॉर्टिज्ड विश्लेषण (व्हिडिओ)
- टॉपकोडर (पुनरावलोकन नियमन आणि मास्टर थिओरेम समाविष्ट):
- चीट शीट
- [पुनरावलोकन] ऍल्गोरिदम विश्लेषण (प्लेलिस्ट) १८ मिनिटांत (व्हिडिओ)
वेगवेगळं नसेल आणि.
तुम्हाला "क्रॅकिंग द सीडी इंटर्व्ह्यू" असल्यास, त्याच्या एका अध्यायात ह्या विषयावर आहे, आणि शेवटी त्यात विविध ऍल्गोरिदमचं क्रमसंबंधी रनटाईम कंप्लेक्सिटी ओळखून पाहण्याची क्षमता असल्याचं काहीतरी चाचणीचं आहे. हे एक चांगले पुनरावलोकन आणि चाचणी आहे.
-
- अॅरे बद्दल:
- एक वेक्टर अॅरे (परिवर्तनशील अॅरे स्वत:चं रेसायजिंगसह):
- अॅरे आणि पॉईंटर्स वापरून कोडिंग करण्याची अभ्यास करा, आणि निर्देशांकांचा वापर करून सूचकांक करा.
- नवीन कच्चे डेटा अॅरे नेहमीची आता आवंटित संदर्भ
- अंत: एंट अॅरे आवंटित करू शकता, केव्हा त्याचे वैशिष्ट्य वापरू शकत नाहीत
- १६सह प्रारंभ करा, किंवा प्रारंभीक अंक जास्त असल्यास, १६, ३२, ६४, १२८ च्या सकलांमध्ये वापरा
- साईज() - आयटमची संख्या
- कॅपॅसिटी() - तो आयटम कित्येक ठाऊक ठेवू शकतो
- एस_खाली()
- अँट(संदर्भ) - दिलेल्या संदर्भातील आयटम परत करतो, जर संदर्भ अंतर्दृष्टीत नसेल तर वायरला जातो
- पुश(आयटम)
- इन्सर्ट(संदर्भ, आयटम) - संदर्भातील आयटममध्ये आयटम जोडते, त्या संदर्भाच्या मूल्य आणि परतलेल्या आयटमांच्या पाठीवर जातो
- प्रिपेंड(आयटम) - उपरी संदर्भात इन्सर्ट वापरू शकता
- पॉप() - शेवटीच्या पासून काढतो, मूल्य परत करतो
- डिलीट(संदर्भ) - दिलेल्या संदर्भातील आयटम काढतो, परतलेल्या सर्व आयटम डावीकडे सायकल करतो
- रिमूव(आयटम) - मूल्य बघतो आणि त्याच्या मूल्याच्या संदर्भातील प्रथम आयटम काढतो (जर एकाधिक स्थानांमध्ये असेल, तरीही)
- फिंड(आयटम) - मूल्य बघतो आणि त्यामध्ये पहिला संदर्भातील स्थान परत करतो, जर नसेल तर -१
- रिसाईझ(नवीन_कॅपॅसिटी) // खाजगी कार्य
- आपल्याला कॅपॅसिटी पर्यंत पोचण्यासाठी जर आपल्याला पर्याय होतं, तर दगडी किती वेळा
- काढत असल्यास एकाधिक पॉप करण्यासाठी, जर साईज कॅपॅसिटीची चौथी असेल तर, अर्धे कितीवर्षी त्याची आकारिक करणे
- काळ
- अॅंडिंगला विनिमेष करण्यासाठी O(1) (अधिकार्यस्थवादी करण्यासाठी जागा आवंटन करण्यासाठी), संदर्भ, किंवा अद्यतन करण्यासाठी
- इतर क्षेत्रात डाळणे / काढणे करण्यासाठी O(n)
- जागा
- मेमोरीत एकत्रित, म्हणजे संबंध उत्कृष्टता मदत करते
- आवश्यक जागा = (अॅरे क्षमता, ज्याप्रमाणे >= n असेल) * आयटमची आकारे, पण किंवा जर २एनची आहे, तरीही O(n)
-
- वर्णन:
- सी कोड (व्हिडिओ) - पूर्ण व्हिडिओ नाही, फक्त नोड स्ट्रक्चर आणि मेमोरी आवंटनबद्दल कितीतरी भागांच्या बद्दल
- लिंक्ड लिस्ट बनावण्याचा प्रयत्न किंवा आणखी विचारांसाठी संदर्भ:
- साईज() - लिस्टमध्ये डेटा घटकांची संख्या परत करते
- एम्प्टी() - रिक्त असल्यास true परत करतो
- व्हॅल्यू_अँट(संदर्भ) - प्रथमाच्या आयटमचे मूल्य परत करतो (पहिल्यासाठी ०वरून सुरू करा)
- पुश_फ्रंट(मूल्य) - लिस्टच्या सुरूतीला एक आयटम जोडतो
- पॉप_फ्रंट() - फ्रंट आयटम काढतो आणि त्याचा मूल्य परत करतो
- पुश_बॅक(मूल्य) - शेवटीला एक आयटम जोडतो
- पॉप_बॅक() - शेवटीचा आयटम काढतो आणि त्याचा मूल्य परत करतो
- फ्रंट() - फ्रंट आयटमचा मूल्य मिळवा
- बॅक() - शेवटीच्या आयटमचा मूल्य मिळवा
- इन्सर्ट(संदर्भ, मूल्य) - संदर्भात मूल्य अंक इन्सर्ट करते, म्हणजे त्या संदर्भाच्या नवीन आयटमातील अंक दिलेल्या आयटमाच्या संदर्भात जातो
- इरेस(संदर्भ) - दिलेल्या संदर्भातील नोड काढतो
- व्हॅल्यूनफ्रॉम_एंड(न) - न थेट आयटमाचा मूल्य परत करतो
- रिव्हर्स() - लिस्ट उलटते
- रिमूव_वॅल्यू(मूल्य) - लिस्टमध्ये त्याच्या मूल्यानुसार प्रथम आयटम काढतो
- डब्ल्यू-लिंक्ड लिस्ट
- वर्णन (व्हिडिओ)
- कोणत्याही अट लागत नाही
-
- स्टॅक (व्हिडिओ)
- [पुनरावलोकन] ३ मिनिटात स्टॅक्स (व्हिडिओ)
- अॅरे सह अॅरे वापरणे सोपं आहे
-
- क्यू (व्हिडिओ)
- सर्कुलर बफर / एफआयएफओ
- [पुनरावलोकन] ३ मिनिटात क्यू (व्हिडिओ)
- लिंक्ड-लिस्ट वापरून कार्यान्वयन करा, प्लॅनर संदर्भाने:
- इन्क्यू(मूल्य) - पायास एक स्थानावर मूल्य जोडतो
- डेक्यू() - खाली होताना मूल्य परत करतो आणि किमान वेळी जोडलेला पायावरतीत मूल्य काढतो (फ्रंट)
- एंप्टी()
- एक नियमित आकाराच्या अॅरे वापरून कार्यान्वयन करा:
- इन्क्यू(मूल्य) - उपलब्ध संचयाच्या शेवटीला आयटम जोडतो
- डेक्यू() - मूल्य परत करतो आणि किमान वेळी जोडलेला आयटम काढतो
- एंप्टी()
- फुल()
-
-
व्हिडिओ:
- चेनिंगसह एचिंग (व्हिडिओ)
- टेबल डबलिंग, कारप-रॅबिन (व्हिडिओ)
- ओपन अॅड्रेसिंग, क्रिप्टोग्राफिक हॅशिंग (व्हिडिओ)
- पायकॉन 2010: माईटी डिक्शनरी (व्हिडिओ)
- पायकॉन 2017: डिक्शनरी इव्हेन मायटीअर (व्हिडिओ)
- (उन्नत) यादृच्छिकीकरण: युनिव्हर्सल आणि परिपूर्ण हॅशिंग (व्हिडिओ)
- (उन्नत) परिपूर्ण हॅशिंग (व्हिडिओ)
- [पुनरावलोकन] ४ मिनिटात हॅश टेबल्स (व्हिडिओ)
-
ऑनलाईन कोर्सेस:
-
अॅरे वापरून लिनिअर प्रोबिंग वापरून कार्यान्वित करा
- हॅश(k, m) - m हॅश टेबलचा आकार आहे
- जोडणे(की, मूल्य) - जर की आधीच अस्तित्वात असेल, मूल्य सुधारित करा
- अस्तित्व आहे(की)
- प्राप्त(की)
-
-
- बायनरी शोध (व्हिडिओ)
- बायनरी शोध (व्हिडिओ)
- विवर
- रूपरेखा
- [समीक्षा] बायनरी शोध 4 मिनिटांत (व्हिडिओ)
- कार्यान्वित करा:
- क्रमवार सादर केलेल्या पूर्णांकांच्या ऍरेअयात बायनरी शोध
- पुनरावृत्ती वापरून बायनरी शोध
-
- बिट्स चीट शीट
- आपल्याला (2^1 ते 2^16 आणि 2^32 पर्यंत 2च्या अनेक घातांची माहिती असावी)
- & | ^ ~ >> << सह बिट्स व्यवस्थापनाची खुपच चांगली समज मिळाली पाहिजे
- 2s आणि 1s पूरक
- सेट बिटची गणना
- मूल्ये बदला:
- पूर्णांक मान:
- बिट्स चीट शीट
-
- झाडांचा परिचय (व्हिडिओ)
- झाड ट्रावर्सल (व्हिडिओ)
- BFS(ब्रेड्थ-फर्स्ट सर्च) आणि DFS(डेप्थ-फर्स्ट सर्च) (व्हिडिओ)
- BFS नोट:
- स्तर क्रम (BFS, क्यूच वापरून)
- काळजीच्या समय: O(n)
- जागा काळजी: सर्वोत्तम: O(1), वास्तविक: O(n/2)=O(n)
- DFS नोट:
- काळजीच्या समय: O(n)
- जागा काळजी: सर्वोत्तम: O(log n) - झाडाचे सरासरी उंची वास्तविक: O(n)
- inorder (DFS: डावी, स्वयं, उजवी)
- postorder (DFS: डावी, उजवी, स्वयं)
- preorder (DFS: स्वयं, डावी, उजवी)
- BFS नोट:
- [समीक्षा] 4 मिनिटांत ब्रेड्थ-फर्स्ट सर्च (व्हिडिओ)
- [समीक्षा] 4 मिनिटांत डेप्थ-फर्स्ट सर्च (व्हिडिओ)
- [समीक्षा] झाड ट्रावर्सल (प्लेलिस्ट) 11 मिनिटांत (व्हिडिओ)
-
- बायनरी शोध झाड समीक्षा (व्हिडिओ)
- परिचय (व्हिडिओ)
- MIT (व्हिडिओ)
- C/C++:
- बायनरी शोध झाड - C/C++ मध्ये कार्यान्वितीकरण (व्हिडिओ)
- BST कार्यान्विती - स्टॅक आणि हिपमध्ये स्मृति काळजी (व्हिडिओ)
- बायनरी शोध झाडातील किमान आणि जास्त मूल्य शोधा (व्हिडिओ)
- एक बायनरी झाडाची उंची कसे शोधायची (व्हिडिओ)
- बायनरी झाडाचा ट्रावर्सल - स्थिरता-प्रथम आणि डेप्थ-प्रथम युक्तियां (व्हिडिओ)
- बायनरी झाड: स्तर क्रम ट्रावर्सल (व्हिडिओ)
- बायनरी झाडाचा ट्रावर्सल: प्रीऑर्डर, इनऑर्डर, पोस्टऑर्डर (व्हिडिओ)
- बायनरी शोध झाड आहे का नाही ते तपासा (व्हिडिओ)
- बायनरी शोध झाडातून मूल्य काढा (व्हिडिओ)
- बायनरी शोध झाडातील आगामी स्वयं (व्हिडिओ)
- कार्यान्वित:
- insert // झाडात मूल्य घाला
- get_node_count // संग्रहित मूल्यांची कोणतीही संख्या मिळवा
- print_values // मूल्यांचा झाडातून प्रिंट करा, किमान ते जास्त
- delete_tree
- is_in_tree // दिलेल्या मूल्याला झाडात असल्यास त्रुटी आहे आपल्याला true कळवा
- get_height // नोड्यांमध्ये उंची परत मिळवा (एकचा नोडचा उंची 1)
- get_min // झाडात संग्रहित किमान मूल्य मिळवा
- get_max // झाडात संग्रहित किमान मूल्य मिळवा
- is_binary_search_tree
- delete_value
- get_successor // दिलेल्या मूल्यानंतर झाडातील आगामी स्वयं मिळवा, कोणतेही नसल्यास -1
-
- झाड म्हणून विज्ञान केले जाते, परंतु सामान्यतः संग्रह (एरे, लिंक्ड सूची) मध्ये लीनियर आहे
- हिप
- परिचय (व्हिडिओ)
- बायनरी झाड (व्हिडिओ)
- झाड उंची टिप (व्हिडिओ)
- मूल्यांची बुनणी (व्हिडिओ)
- पूर्ण बायनरी झाड (व्हिडिओ)
- उपनामकोड (व्हिडिओ)
- हिप क्रमवार क्रमणी (व्हिडिओ)
- हिप क्रमवार (व्हिडिओ)
- हिप निर्माण (व्हिडिओ)
- MIT: हिप आणि हिप क्रमवार (व्हिडिओ)
- CS 61B लेक्चर 24: प्रायरिटी क्यू (व्हिडिओ)
- लीनियर वेळ बनवा (मॅक्स-हिपमध्ये)
- [समीक्षा] हिप (प्लेलिस्ट) 13 मिनिटांत (व्हिडिओ)
- एक मॅक्स-हिपसाठी कार्यान्वित:
- insert
- sift_up - insert साठी आवश्यक
- get_max - त्याच्यापासून माझ्या वस्तू मिळते, ते काढून टाकून नको
- get_size() - संग्रहित घटकांची संख्या परत द्या
- is_empty() - सत्रात कोणतेही घटक असल्यास त्रुटी द्या
- extract_max - माझ्या घटकापासून माझ्या घटक मिळते, तो काढून टाकून नको
- sift_down - extract_max साठी आवश्यक
- remove(x) - स्थिती x पासून वस्तू काढा
- heapify - घटकांच्या एक संचयापासून एक हिप तयार करा, heap_sort साठी आवश्यक
- heap_sort() - एक क्रमरहित संचय घेऊन तो एक क्रमरहित संचय बनवा
-
नोट्स:
- सॉर्ट्स अमल करा आणि प्रत्येकाच्या सर्वोत्तम/अत्यधिक, सरासरी संघटनाची कसे आहे हे जाणून घ्या:
- बबल सॉर्ट करू नका - तो वाईट आहे - O(n^2), केवळ जेम्हाने n <= 16 असल्यास
- सॉर्टिंग अल्गोरिदम्स मध्ये स्थिरता कोणत्या आहेत? ("क्विक्सॉर्ट स्थिर आहे का?")
- कोणत्या अल्गोरिदम्स कस्टोडीत वापरू शकतात? कोणत्या अॅरे वापरू शकतात? कोणत्या अॅन्ड बोथ?
- मला एक लिंक्ड लिस्ट सॉर्ट करण्याचं सांगणं शक्य नाही, परंतु मर्ज सॉर्ट संभव आहे.
- मर्ज सॉर्ट फॉर लिंक्ड लिस्ट
- सॉर्ट्स अमल करा आणि प्रत्येकाच्या सर्वोत्तम/अत्यधिक, सरासरी संघटनाची कसे आहे हे जाणून घ्या:
-
हीप सॉर्टसाठी, खालील हीप डेटा संरचना पहा. हिप सॉर्ट म्हणजे चांगलं आहे, परंतु थेट नसलेलं
-
UC Berkeley:
-
मर्ज सॉर्ट कोड:
-
क्विक सॉर्ट कोड:
-
कार्यान्वित करा:
- मर्जसॉर्ट: O(n log n) औसत आणि अत्यधिक चणजी
- क्विकसॉर्ट O(n log n) औसत चणजी
- सेलेक्शन सॉर्ट आणि इन्सर्शन सॉर्ट दोन्ही O(n^2) औसत आणि अत्यधिक चणजी
- हिप सॉर्टसाठी, खालील हिप डेटा संरचना पहा
-
आवश्यक नाही, परंतु मी त्यांना शिफारस करतो:
सारांशात, येथे असलेल्या १५ सॉर्टिंग अल्गोरिदम्सची एक दृश्यात्मक प्रतिनिधीत्व केली आहे. जर आपल्याला या विषयावर अधिक माहिती आवश्यक असेल, तर "कितीही विषयांवर अतिरिक्त माहिती" मध्ये "सॉर्टिंग" विभाग पहा
कंप्यूटर विज्ञानात कोणत्याही समस्या प्रतिस्थापित करण्यासाठी ग्राफ वापरले जाऊ शकतात, म्हणून ह्या विभागात तोड, कळवणे आणि क्रमवारीस असे लांब असतात.
-
नोट:
- मेमोरीमध्ये ग्राफ प्रतिनिधित्व करण्याचे ४ मूल विधान आहेत:
- ऑब्जेक्ट्स आणि पॉईंटर्स
- परिसराचे संबंधचित्र
- अजेसन्सी लिस्ट
- अजेसन्सी मॅप
- प्रत्येक प्रतिनिधित्वाची आपल्याला ओळखा आणि त्याचे फायदे आणि दुष्करता
- BFS आणि DFS - त्यांची संगणनात्मक जटिलता, त्यांच्या सूट, आणि त्यांना वास्तविक कोडमध्ये कसे कार्यान्वित करायचे याची ओळख असल्याचे
- प्रश्न केल्यावर, पहिल्यांसाठी ग्राफ-आधारित सोड शोधा, नंतर वळण
- मेमोरीमध्ये ग्राफ प्रतिनिधित्व करण्याचे ४ मूल विधान आहेत:
-
MIT(व्हिडिओ):
-
स्कीना व्याख्यान - महान परिचय:
- CSE373 2020 - लेक्चर 10 - ग्राफ डेटा संरचना (व्हिडिओ)
- CSE373 2020 - लेक्चर 11 - ग्राफ वर्तन (व्हिडिओ)
- CSE373 2020 - लेक्चर 12 - डेप्थ फर्स्ट सर्च (व्हिडिओ)
- CSE373 2020 - लेक्चर 13 - किमी स्पॅनिंग ट्रीज (व्हिडिओ)
- CSE373 2020 - लेक्चर 14 - किमी स्पॅनिंग ट्रीज (सुरू) (व्हिडिओ)
- CSE373 2020 - लेक्चर 15 - ग्राफ अल्गोरिदम (टेलीमोठ टू) (व्हिडिओ)
-
ग्राफ (पुनरावलोकन आणि अधिक):
- ६.००६ एकट्यांचा सर्वोत्तम मार्ग समस्या (व्हिडिओ)
- ६.००६ डायक्स्ट्रा (व्हिडिओ)
- ६.००६ बेल्मन-फॉर्ड (व्हिडिओ)
- ६.००६ डायक्स्ट्रा वेगवेगळ्या (व्हिडिओ)
- अडुनी: ग्राफ अल्गोरिदम I - टोपोलॉजिकल सॉर्टिंग, किमी स्पॅनिंग ट्रीज, प्रिम्स अल्गोरिदम - लेक्चर 6 (व्हिडिओ)
- अडुनी: ग्राफ अल्गोरिदम II - DFS, BFS, क्रस्कल्स अल्गोरिदम, युनियन फाइंड डेटा संरचना - लेक्चर 7 (व्हिडिओ)
- अडुनी: ग्राफ अल्गोरिदम III: किमी स्पॅनिंग - लेक्चर 8 (व्हिडिओ)
- अडुनी: ग्राफ अल्गोरिदम IV: भौमिती अल्गोरिदम्सकरणासाठी परिचय - लेक्चर 9 (व्हिडिओ)
- CS 61B 2014: वेटेड ग्राफ (व्हिडिओ)
- लालाच अल्गोरिदम्स: किमी स्पॅनिंग ट्री (व्हिडिओ)
- स्ट्रॉन्ग्ली कनेक्टेड कॉम्पोनेंट्स कोसराजूचा अल्गोरिदम ग्राफ अल्गोरिदम (व्हिडिओ)
- [पुनरावलोकन] सर्वोत्तम मार्ग अल्गोरिदम (playlist) १६ मिनिटांमध्ये (व्हिडिओ)
- [पुनरावलोकन] किमी स्पॅनिंग ट्री (playlist) ४ मिनिटांमध्ये (व्हिडिओ)
-
पूर्ण Coursera कोर्स:
-
मी अमला करेन:
- अजेसन्सी लिस्टसह DFS (आवृत्तीद्वारे)
- अजेसन्सी लिस्टसह DFS (स्टॅकसह आवृत्तीद्वारे)
- अजेसन्सी मॅट्रिक्ससह DFS (आवृत्तीद्वारे)
- अजेसन्सी मॅट्रिक्ससह DFS (स्टॅकसह आवृत्तीद्वारे)
- अजेसन्सी लिस्टसह BFS
- अजेसन्सी मॅट्रिक्ससह BFS
- एकट्यांच्या सर्वोत्तम मार्ग (डायक्स्ट्रा)
- किमी स्पॅनिंग ट्री
- DFS-आधारित अल्गोरिदम (वरील Aduni व्हिडिओ पहा):
- सायकलासाठी तपासा (तोपोलॉजिकल सॉर्टिंगसाठी आम्ही सायकलाची तपासणी सुरू करण्यापूर्वी सायकल तपासणे आवश्यक आहे, कारण आम्ही सुरू करण्यापूर्वी सायकलाची तपासणी करण्याची तपासणी करीत आहोत)
- तोपोलॉजिकल सॉर्ट
- ग्राफमध्ये कनेक्टेड संघटनांची संख्या काउंट करा
- कड़क संघटनांची सूची
- बायपार्टाईट ग्राफसाठी तपासा
-
- पुनरावर्तन आणि परत्यायीकरणाच्या Stanford व्याख्यानपट्टी:
- कोणत्याही स्थितीत ते वापरण्याचे कधी योग्य आहे?
- टेल पुनरावर्तन कसे विचारले जाते?
- कोणत्याही पुनरावर्तन समस्येचे विचार कसे करावे (व्हिडिओ)
-
- तुम्हाला तुमच्या साक्षात्कारात कोणत्याही डायनॅमिक प्रोग्रामिंग समस्या पाहायला मिळाली नाही, परंतु हे एक डायनॅमिक प्रोग्रामिंग समस्या म्हणून मान्यता देण्यास अनुरूप आहे हे महत्त्वाचं आहे.
- या विषयाचं अत्यंत कठीण असू शकतं, कारण प्रत्येक डीपी अंतग्रहणकर्त्याची चूकीची देवाण करणे आवश्यक आहे, आणि त्याचा साधन करणे कठीण असू शकतं.
- मी तुम्हाला डीपी समस्यांच्या अनेक उदाहरणे पाहून पैटर्नचं ठसा समजलं पर्यंत तुम्हाला सुचना देतो.
- व्हिडिओ:
- स्किना: CSE373 2020 - व्याख्यान 19 - डायनॅमिक प्रोग्रामिंगचे परिचय (व्हिडिओ)
- स्किना: CSE373 2020 - व्याख्यान 20 - संपादन अंतर (व्हिडिओ)
- स्किना: CSE373 2020 - व्याख्यान 20 - संपादन अंतर (सुरुवात) (व्हिडिओ)
- स्किना: CSE373 2020 - व्याख्यान 21 - डायनॅमिक प्रोग्रामिंग (व्हिडिओ)
- स्किना: CSE373 2020 - व्याख्यान 22 - डायनॅमिक प्रोग्रामिंग आणि पुनरावलोकन (व्हिडिओ)
- साइमन्सन: डायनॅमिक प्रोग्रामिंग 0 (59:18 पासून सुरू) (व्हिडिओ)
- साइमन्सन: डायनॅमिक प्रोग्रामिंग I - व्याख्यान 11 (व्हिडिओ)
- साइमन्सन: डायनॅमिक प्रोग्रामिंग II - व्याख्यान 12 (व्हिडिओ)
- व्यक्तिगत डीपी समस्यांची यादी (प्रत्येक संक्षिप्त आहे): डायनॅमिक प्रोग्रामिंग (व्हिडिओ)
- येल व्याख्यान नोट्स:
- कोर्सेरा:
-
- व्हिडिओ: त्वरीत UML पुनरावलोकन (व्हिडिओ)
- ह्या पॅटर्न्सचा अभ्यास करा:
- स्ट्रॅटेजी
- सिंगलटन
- ऍडॅप्टर
- प्रोटोटाईप
- डेकोरेटर
- विजिटर
- फॅक्टरी, अॅब्सट्रॅक्ट फॅक्टरी
- फेसेड
- ऑब्झर्व्हर
- प्रॉक्सी
- डेलीगेट
- कमांड
- स्टेट
- मेमेंटो
- आयटरेटर
- कॉम्पोझिट
- फ्लायवेट
- संच: व्हिडिओ सिरीज (27 व्हिडिओ)
- पुस्तक: हेड फर्स्ट डिझाइन पॅटर्न्स
- मला माहित आहे की कॅनॉनिकल पुस्तक "डिझाइन पॅटर्न्स: ओब्जेक्ट-ओरिएंटेड सॉफ्टवेअरचे घटक" आहे, परंतु हेड फर्स्ट ही सुरुवातीकडून अवघड प्रारंभकांसाठी उत्तम आहे.
- हॅंडी संदर्भ: डेव्हलपर्ससाठी 101 डिझाइन पॅटर्न्स आणि सूचना
-
- गणित कौशल्य: फॅक्टोरियल, पर्म्युटेशन, आणि कॉम्बिनेशन (निवडा) कसे शोधायचं (व्हिडिओ)
- मेक स्कूल: प्रायोगिकी (व्हिडिओ)
- मेक स्कूल: अधिक प्रायोगिकी आणि मार्कोव श्रॅइन्स (व्हिडिओ)
- खान एकेडेमी:
- कोर्स लेआउट:
- केवळ व्हिडिओ - 41 (प्रत्येक सोपे आणि प्रत्येक संक्षिप्त आहेत):
-
- एनपी-पूर्ण समस्यांच्या सर्वात प्रसिद्ध वर्गांची ओळख करा, उदा. यात्रा करणारा विक्रेता आणि बटवारे समस्या, आणि त्यांना ओळखू शकण्यात यावं जेव्हा साक्षात्कारदाता तुम्हाला त्यांचं उपाय करण्याचं म्हणेल.
- एनपी-पूर्ण असे काय म्हणतात, हे ओळखा.
- संज्ञानात घेण्याची सोपीता (व्हिडिओ)
- सायमन्सन:
- स्कीना:
- जटिलता: पी, एनपी, एनपी-पूर्णता, घटक (व्हिडिओ)
- जटिलता: अनुमापन अल्गोरिदम (व्हिडिओ)
- जटिलता: निश्चित-पॅरामीटर अल्गोरिदम्स (व्हिडिओ)
- पीटर नॉर्विग यांनी यात्रा करणार्या विक्रेता समस्येसाठी करीब करीब उत्तम सोडलेले निर्धारण:
- तुमच्याकडे आहे का तो CLRS चा पृष्ठ 1048 - 1140.
-
- कॉम्प्यूटर सायन्स 162 - ऑपरेटिंग सिस्टम्स (25 व्हिडिओ):
- प्रक्रिया आणि थ्रेड्ससाठी 1-11 व्हिडिओ पहा
- ऑपरेटिंग सिस्टम्स आणि सिस्टम प्रोग्रामिंग (व्हिडिओ)
- प्रक्रिया आणि थ्रेड्समध्ये अंतर काय आहे?
- आवरण करते:
- प्रक्रिया, थ्रेड्स, एकत्रता समस्या
- प्रक्रिया आणि थ्रेड्स विचार
- प्रक्रिया
- थ्रेड्स
- लॉक्स
- म्यूटेक्स
- सेमाफोर्स
- मॉनिटर्स
- ते कसे कार्य करतात?
- डेडलॉक
- लायव्हलॉक
- सीपीयू चालना, इंटरप्ट्स, संदर्भ परिवर्तन
- मल्टीकोर प्रोसेसर्ससह सध्याची एकत्रता संरचना
- पेजिंग, सेग्मेंटेशन, आणि वर्च्युअल मेमरी (व्हिडिओ)
- इंटरप्ट्स (व्हिडिओ)
- प्रक्रिया संसाधन आवश्यकता (मेमरी: कोड, स्थैतिक संचयन, स्टॅक, हिप, आणि संदर्भांचा फाईल दर्शक, आयओ)
- थ्रेड्स संसाधन आवश्यकता (समावेश करते (स्टॅक समावेश केलेला बाहेर) आणि प्रक्रियेमध्ये इतर थ्रेड्ससह सामायिक असताना प्रत्येकाचं नवीन पीसी, स्टॅक काउंटर, नोंदणी, आणि स्टॅक असतं.)
- फोर्किंग खरोखर लिहिते किंवा नवीन प्रक्रियेमध्ये लिहिते (वाचण्यासाठी) तोते कोपी.
- संदर्भ परिवर्तन
- प्रक्रिया, थ्रेड्स, एकत्रता समस्या
- सी++मध्ये थ्रेड्स (संचिका - 10 व्हिडिओ)
- मेसाचुसेट्स युनिवर्सिटीनंचे CS 377 Spring '14: ऑपरेटिंग सिस्टम्स
- पायथनमध्ये एकत्रता (व्हिडिओ):
- कॉम्प्यूटर सायन्स 162 - ऑपरेटिंग सिस्टम्स (25 व्हिडिओ):
-
- कवर करण्यासाठी:
- कसे युनिट चाचणी कार्य करते
- काय मॉक ऑब्जेक्ट आहेत
- काय एकत्रता चाचणी आहे
- काय डिपेंडेन्सी इन्जेक्शन आहे
- जेम्स बाच सोबत Agile सॉफ्टवेअर टेस्टिंग (व्हिडिओ)
- सॉफ्टवेअर टेस्टिंगवर जेम्स बाच द्वारे खुला व्याख्यान (व्हिडिओ)
- स्टीव फ्रीमॅन - टेस्ट-ड्रायव्ह्ड डेव्हलपमेंट (ते काय आम्ही म्हणत होतो) (व्हिडिओ)
- डिपेंडेन्सी इन्जेक्शन:
- चाचण्यांसाठी कसे लिहावं
- कवर करण्यासाठी:
-
- सेजविक - सफ्फिक्स अॅरेस (व्हिडिओ)
- सेजविक - उपस्थिती शोध (व्हिडिओ)
- टेक्स्टमध्ये पॅटर्न शोध (व्हिडिओ)
जर आपल्याला या विषयावर अधिक माहिती आवडत असेल तर, "कितीकोटी विषयांवर अतिरिक्त माहिती" मध्ये "स्ट्रिंग मॅचिंग" अनुभाग पहा.
-
- नोंद: विविध प्रकारांचे ट्राय आहेत. काहीतरींना प्रिफिक्स आहेत, काहीतरींना नाही, आणि काही बिट्ससाठी स्ट्रिंग्स वापरतात मार्गाचे ट्रॅक
- मी कोडमध्ये वाचले, परंतु कार्यान्वित केले नाही
- सेजविक - ट्राय (3 व्हिडिओ)
- डेटा संरचना आणि प्रोग्रामिंग तंत्रे वरचे नोंद
- लघु कोर्स व्हिडिओ:
- ट्राय: एक अवधृत डेटा संरचना
- टॉपकोडर - ट्रायज वापरणे
- स्टॅनफोर्ड व्हिडिओ (वास्तविक वापराची केस) (व्हिडिओ)
- MIT, प्रगत डेटा संरचना, स्ट्रिंग्स (ह्या अर्धवट विडीओमध्ये खूप अविष्कारी होतात) (व्हिडिओ)
-
- बिग आणि लिटिल एंडियन
- बिग एंडियन विरुद्ध लिटिल एंडियन (व्हिडिओ)
- बिग आणि लिटिल एंडियन इन्साइड/आउट (व्हिडिओ)
- कर्नेल डेव्हलपर्ससाठी खूप तांत्रिक चर्चा. आपल्या मागीलच्या विचारांची काळजी घ्यायला लागली तर चिंता नका.
- पहिल्या अर्धात आपल्याला सुद्धा काही काही योग्य वाटतील.
-
- जर आपल्याकडे नेटवर्किंग अनुभव आहे किंवा संचारविज्ञानी किंवा कार्याचे प्रचार अभियंता होण्याची इच्छा आहे, तर प्रश्न अपेक्षित करा
- इतरथील ते फक्त माहितीचे आहे
- खान एकेडमी
- UDP आणि TCP: परिवहन संरचनांचा तुलनात्मक (व्हिडिओ)
- TCP/IP आणि OSI मॉडेल स्पष्टीकरण! (व्हिडिओ)
- इंटरनेटवर पॅकेट प्रेषण. नेटवर्किंग आणि TCP/IP ट्यूटोरियल. (व्हिडिओ)
- HTTP (व्हिडिओ)
- SSL आणि HTTPS (व्हिडिओ)
- SSL/TLS (व्हिडिओ)
- HTTP 2.0 (व्हिडिओ)
- व्हिडिओ सीरीज (21 व्हिडिओ) (व्हिडिओ)
- सबनेटिंगचे अनाधिकृतीकरण - भाग 5 सीआयडीआर सूची (व्हिडिओ)
- सॉकेट्स:
ह्या विभागात, आपल्याला प्रामुख्यांच्या अधिक महत्त्वाच्या धारणांची पुनरावलोकन करण्यासाठी लवकर लवकर पहायला मिळणारे लघु व्हिडिओ असतील.
हे खूप छान आहे जर आपल्याला अक्षरश: अक्षर वापरायला आवडते.
- 2-3 मिनिटांचे लघु विषय व्हिडिओ सिरीज (23 व्हिडिओ)
- 2-5 मिनिटांचे लघु विषय व्हिडिओ सिरीज - मायकल संबोल (48 व्हिडिओ):
- सेजविक व्हिडिओ - अल्गोरिदम्स I
- सेजविक व्हिडिओ - अल्गोरिदम्स II
- "Cracking The Coding Interview" आणि "Programming Interviews Exposed" हे पुस्तके पहा
- "चांगला रेझ्युम कसं दिसतं" गेल मॅकडॉनेल (Cracking the Coding Interview ची लेखिका),
- लेखिकेचा अभिप्राय: "हा संगणक संयंत्र युएस अँड अन्य देशांसाठी अनेक वेळा वेगवेगळ्या अपेक्षा असतात, हाताळणीच्या बाजूचे प्रमुख असतात, परंतु अनेक बिंदू सामान्य असतील."
- "चरणावरील रेझ्युम मार्गदर्शन" टेक इंटरव्ह्यू हँडबुक
- रेझ्युम सामग्री कसे तयार करायची, प्रभावी रेझ्युम सामग्री कसे लिहायची, ती ऑप्टिमाईझ कसे करायची, आणि तुमचा रेझ्युम कसं चाचणी करायचं हे मार्गदर्शित करणारं विस्तृत मार्गदर्शिका.
- 2021 मध्ये इंजिनिअरिंग इंटरव्ह्यू कशात काढायचं ते कसं पार पडायचं
- टेक रिक्रूटिंगच्या आजवळल्या मिस्ट्री
- बिग 4 मध्ये नोकरी कसं मिळवायचं:
- क्रॅकिंग दि कोडिंग इंटरव्ह्यू सेट 1:
- फेसबुक क्रॅकिंग दि कोडिंग इंटरव्ह्यू:
- प्रिप कोर्सेस:
- पायथन फॉर डेटा स्ट्रक्चर्स, अल्गोरिदम्स, आणि इंटरव्ह्यूस (पेड कोर्स):
- डेटा स्ट्रक्चर्स, अल्गोरिदम्स, मॉक इंटरव्ह्यूस, आणि अधिक प्रकारच्या पायथनसंबंधित इंटरव्ह्यू प्रिप कोर्स.
- पायथन वापरून डेटा स्ट्रक्चर्स आणि अल्गोरिदम्स साठी परिचय (उदासिती विनामूल्य कोर्स):
- विनामूल्य पायथन सेंट्रिक डेटा स्ट्रक्चर्स आणि अल्गोरिदम्स कोर्स.
- डेटा स्ट्रक्चर्स आणि अल्गोरिदम्स नॅनोडिग्री! (उदासिती अनुलग्न कोर्स):
- इंटरव्ह्यूज आणि ऑन-दि-जॉब स्थित्यांसाठी तुम्हाला तयार करण्यासाठी वेळांचं मार्गदर्शन करत असलेले बोलणे आणि अल्गोरिदम्स अभ्यास घेणे.
- बिहेव्ह्योरल इंटरव्ह्यूला ग्रोकिंग (एज्युकेटिव्ह विनामूल्य कोर्स):
- अधिकतर वेळेस तुमच्या तांत्रिक क्षमतेमध्ये तुम्हाला तुमच्या स्वप्नांच्या नोकरीला मिळवण्याचं अवरोधक नसतं, ते कसं आपण बर्तायचं ते हा बिहेव्ह्योरल इंटरव्ह्यू कसं करतात ते अभ्यास घेणे.
- एल्गोमॉन्स्टर (विनामूल्य कोर्स सह पेड कोर्स):
- LeetCode साठी धडकधडकी असणे. हजारों प्रश्नांमधून संकल्पित सर्व पॅटर्न्सची आवृत्ती करते.
- पायथन फॉर डेटा स्ट्रक्चर्स, अल्गोरिदम्स, आणि इंटरव्ह्यूस (पेड कोर्स):
मॉक इंटरव्ह्यू:
- Gainlo.co: मोक इंटरव्ह्यूअर्स सह बड्याच्या कंपनीतून - मी हे वापरलं आणि हे माझ्याला फोन स्क्रीन आणि ऑन-साइट इंटरव्ह्यूसाठी थंड करण्यास मदत केलं
- Pramp: मोक इंटरव्ह्यूअर्स सह/सह करणार् - इंटरव्ह्यूचे सह/सह करण्यासाठी समुदायामध्ये पीर-पर-पीर मॉडेल
- interviewing.io: वरिष्ठ इंजिनिअर्ससह मोक इंटरव्ह्यू प्रॅक्टिस - FAANGमधील वरिष्ठ अभियंत्यांसोबत अनामिक अल्गोरिदमिक/सिस्टम डिझाईन इंटरव्ह्यू
- Meetapro: टॉप FAANG इंटरव्ह्यूअर्ससह मोक इंटरव्ह्यूस - एअरबीअनची अंतर्गत मोक इंटरव्ह्यू/कोचिंग प्लॅटफॉर्म.
- Hello Interview: ऍक्सपर्ट कोचेससोबत आणि AI सोबत मोक इंटरव्ह्यूस - AIसह किंवा FAANG स्टाफ अभियंते आणि व्यवस्थापकांसोबत इंटरव्ह्यू.
- Codemia: AI किंवा समुदाय समाधानांसोबत प्रणाली डिझाईन समस्यांचे प्रॅक्टिस करा आणि मूल्यमापन घ्या - सिस्टम डिझाईन समस्या AI प्रॅक्टिस टूलवर मूल्यमापन करा. समुदायातील आपले समाधान सामुदायिक हैक तपासा.
Think of about 20 interview questions you'll get, along with the lines of the items below. Have at least one answer for each. Have a story, not just data, about something you accomplished.
- Why do you want this job?
- What's a tough problem you've solved?
- Biggest challenges faced?
- Best/worst designs seen?
- Ideas for improving an existing product
- How do you work best, as an individual and as part of a team?
- Which of your skills or experiences would be assets in the role and why?
- What did you most enjoy at [job x / project y]?
- What was the biggest challenge you faced at [job x / project y]?
- What was the hardest bug you faced at [job x / project y]?
- What did you learn at [job x / project y]?
- What would you have done better at [job x / project y]?
माझ्यात असणारी काही (मला आधीच प्रत्युत्तरे मिळू शकतात, परंतु त्यांच्या मत वा टीमच्या दृष्टिकोनातून इच्छा आहे):
- तुमच्या टीमचे किती वेळी?
- तुमचे डेव सायकल कसे असते? तुम्ही वॉटरफॉल / स्प्रिंट्स / एजाइल करता का?
- कालावधीला धडे सामायिक होतात का? किंवा त्यांच्यावर प्रासंगिकता आहे का?
- तुमच्या टीममध्ये निर्णय कसे घेतले जातात?
- तुमच्या टीममध्ये प्रत्येक आठवड्याला किती बैठके झाली जातात?
- तुम्हाला वातावरणात काम करण्याची मदत कसं वाटतं?
- तुम्ही काय करीत आहात?
- तुम्हाला ह्याच्यावर काय आवडतं?
- कामाचा जीवन कसं आहे?
- काम / लायफ बॅलन्स कसं आहे?
अभिनंदन!
शिका जारी ठेवा.
तुम्ही वास्तविकपणे समाप्त नाहीत.
*****************************************************************************************************
*****************************************************************************************************
हे बद्दल काही खालील बिंदू ऐकले पाहिजे. प्रवेश स्तराच्या साक्षात्कारासाठी हे आवश्यक नाही.
परंतु, यांचे अभ्यास करण्याने, आपल्याला अधिक CS संकल्पांच्या विस्तारात विचारल्याचा संधी देते आणि
कोणत्याही सॉफ्टवेअर इंजिनियरिंग नोकरीसाठी तयार केल्यावर तुम्ही एक अधिक समर्थ सॉफ्टवेअर इंजिनियर बनणार आहात.
आपण एक काहीशे विचारातून एक अधिक वेल-राउंडेड सॉफ्टवेअर इंजिनियर आहात.
*****************************************************************************************************
*****************************************************************************************************
या पुस्तकांच्यातून तुम्ही आपल्याला आवडणारा विषयांमध्ये संपलं तर काम करू शकता.
- The Unix Programming Environment
- जुना परंतु चांगला
- The Linux Command Line: A Complete Introduction
- आधुनिक पर्याय
- TCP/IP Illustrated Series
- Head First Design Patterns
- डिझाईन पॅटर्न्सचे सोपे परिचय
- Design Patterns: Elements of Reusable Object-Oriented Software
- गॅंग ऑफ फोर पुस्तक किंवा GOF
- गॅंग ऑफ फोर प्रमाणिक डिझाईन पॅटर्न्स पुस्तक
- Algorithm Design Manual (Skiena)
- एक पुनरावलोकन आणि समस्या-ओळख
- आल्गोरिदम कॅटलॉग भागातील विषय हा साक्षात्कारात मिळवण्यास खूप मोठं आहे
- Algorithm (Jeff Erickson)
- Write Great Code: Volume 1: Understanding the Machine
- हे पुस्तक 2004 मध्ये प्रकाशित झाले होते, आणि काहीवेळेस अपडेट नाहीत, परंतु एक चांगला संसाधन आहे कंप्यूटर चे समजावून
- Introduction to Algorithms
- महत्त्वाचं: ह्या पुस्तकाची वाचने केवळ सीमित मूल्य असेल. ह्या पुस्तकात आल्गोरिदम आणि डेटा संरचना चं खूप छान समाविष्ट केलं आहे, परंतु तुम्हाला चांगलं कोड कसं लिहायला हवं आहे
- Computer Architecture, Sixth Edition: A Quantitative Approach
- अधिक अर्थशास्त्रिक, अधिक अद्ययावत (2017), परंतु लांब व्याख्या साठी
जर तुम्हाला 4+ वर्षांचा अनुभव असेल तर तुम्हाला सिस्टम डिझाईनचे प्रश्न अपेक्षित आहेत.
- स्केलेबिलिटी आणि सिस्टम डिझाईन हे खूप मोठे विषय आहेत आणि त्यात काही विषय आणि संसाधने आहेत, कारण कॉम्प्युटर / हार्डवेअर सिस्टम डिझाईन करताना अनेक गोष्टी ध्यानात ठेवण्याची आहे की कसे स्केल करावे. यावर आपल्याला काही वेळ खर्च होणार आहे
- विचारणे:
- स्केलेबिलिटी
- मोठ्या डेटा सेटला एकदा माने घेऊन घेणे
- एक डेटा सेटला दुसर्याकडे बदलणे
- अत्यंत मोठ्या प्रमाणात डेटा संचयन
- सिस्टम डिझाईन
- सुविधा संचयन
- इंटरफेसेस
- वर्ग वर्गांचा वारसा
- निश्चित प्रतिबंधांत एका सिस्टमचा डिझाईन
- सरलता आणि प्रतिस्थापन
- तपशील विचारांची
- कार्यक्षमता विश्लेषण आणि अद्ययावधीकरण
- स्केलेबिलिटी
- इथे सुरू करा: The System Design Primer
- HiredInTech मध्ये सिस्टम डिझाईन
- तकनीकी साक्षात्कारात डिझाईन प्रश्नांना कसं उत्तर द्यायचं?
- सिस्टम डिझाईन साक्षात्कारासाठी 8 धडे मार्गदर्शिका
- डेटाबेस नॉर्मलायझेशन - 1NF, 2NF, 3NF आणि 4NF (व्हिडिओ)
- सिस्टम डिझाईन साक्षात्कार - इथेच अनेक संसाधन आहेत. लेख आणि उदाहरण पाहा. माझ्याकडून काहीतरीही खालील आहेत
- सिस्टम डिझाईन साक्षात्कारासाठी कसं धडे मार्गदर्शिका
- प्रत्येकाला पाहिजेल अंक
- एका संदर्भ पदलाचं तर किती वेळ लागतं?
- डेटासेंटर्स व्यवस्थांना ट्रान्झॅक्शन्स (व्हिडिओ)
- CAP सिद्धांताचा एक सादर इंग्रजी परिचय
- MIT 6.824: Distributed Systems, Spring 2020 (20 व्हिडिओ)
- समरसता अल्गोरिदम:
- समरसता हॅशिंग
- NoSQL पॅटर्न्स
- स्केलेबिलिटी:
- तुम्हाला हे सर्व लागेणार नाही. फक्त तुमच्याकडून आवडलेले काही निवडा.
- महत्त्वाचा अवलोकन (व्हिडिओ)
- लहान श्रृंखला:
- स्केलेबिल वेब आर्किटेक्चर आणि वितारित सिस्टम
- वितारित कॉम्प्युटिंगची खोटींची धारणा स्पष्टीकरण
- जेफ डीन - Google असा सॉफ्टवेअर सिस्टम निर्माण आणि शिक्षण कसं करतो? (व्हिडिओ)
- स्केल असलेल्या प्रणालीसाठी सिस्टम डिझाईनचा परिचय
- App Engine आणि Cloud Datastore वापरून एक जागतिक प्रेक्षक संचालनात मोबाइल गेमस कसं स्केल करायचं? (व्हिडिओ)
- Google आणि जमिनच्या आकारासाठी कसं प्लॅनेट-स्केल इंजिनियरिंग करतो? (व्हिडिओ)
- अल्गोरिदमांची महत्त्वाचीता
- शार्डिंग
- लांडातील खेळांसाठी इंजिनियरिंग करण्याची गोष्ट
- YouTube स्केलेबिलिटी सवय व 30 मिनिटांत दस वर्ष
- कसं PayPal रोजच्या गतिविधींसाठी 8VMs वापरून बिलियन व्यवहार कसं स्केल केलं?
- कसं मोठ्या डेटासेंटरमध्ये डुप्लिकेट्स काढाव्यात?
- एक Instagram च्या प्रमाणात कसं अभिप्राय सांगावं?
- एक Patreon आर्किटेक्चर कसं टिकवून ठेवायचं हे अत्यंत कमी
- तिंडर: एकाचा पर्याय शोधाव्याचं कसं? लाखां मिळवणार कोणा पाहून?
- एका आधुनिक कॅशचे डिझाईन
- फेसबुक स्केलबिलीत लाईव्ह व्हिडिओ स्ट्रिमिंग
- Amazon चा एका न्यायलेल्या आकारातील सिस्टम डिझाईनावर का पोहोच?
- मिलियन व्यवहारांपर्यंत कसं प्लॅनेट-स्केल इंजिनियरिंग करतात परिपाटी इमेज ऑप्टिमायझन टेक्नॉलॉजी
- Amazon AWS वापरून 11 मिलियन वापरकर्त्यांकडे कसं स्केल करायचं?
- नेटफ्लिक्स स्टॅकची पूर्ण 360 डिग्री पाहणी
- ल्याटेंसी सर्वत्र आहे आणि तुम्हाला विक्रींसाठी खर्च करतं
- सेल्सफोर्स आर्किटेक्चर - त्यांनी कसं दिवसात 1.3 बिलियन व्यवहार केलं?
- ESPN ची आर्किटेक्चर स्केलचा आकार - प्रतिसेकंडाला 100,000 दु नु नु आणि अधिक
- सेवा संचालन करण्याच्या काही तंत्रज्ञानांसाठी "संदेशसंचार, सिरिअलायझेशन, आणि क्यूसिंग प्रणाली" हे पाहा
- Twitter:
- आणखी प्रमाणांसाठी, "व्हिडिओ सिरीज" येथील "माइनिंग मॅसिव्ह डेटासेट्स" ला पाहा
- सिस्टम डिझाईन प्रक्रियेचे अभ्यास करणे: येथे कागदावर काम करण्यासाठी काही विचारांची प्रक्रिया दिली आहे, प्रत्येकाला कसं वापरलं होतं त्याबद्दल काही कागदपत्रे आणि त्याच्या वास्तविक जगात कसं वापरलं होतं ते दिलं आहे:
- पुनरावृत्ती: The System Design Primer
- HiredInTech मध्ये सिस्टम डिझाईन
- धोखादणीपत्र
- प्रवाह:
- समस्या आणि परिधीचे समजा:
- वापर घटनांचे परिभाषित करा, परीक्षकाची मदत घ्या
- अतिरिक्त सुविधा सुचवा
- परीक्षक अख्खाप ठरवलेली निरीक्षित वस्तू वगळा
- उच्च प्रवलगत्ता आवश्यक आहे, ती एक वापरण्याची अपेक्षा करा
- प्रतिबंधांचे विचार करा:
- प्रतिमांचा म्हणजे महिन्यात किती विनंत्यांची माहिती असेल
- प्रतिमांचा म्हणजे किती विनंत्या प्रतिसेकंद असेल (ते तुम्हाला स्वतः सांगितले जाईल किव्हा तुम्ही गणना करावी)
- मागील 80/20 नियमाचा ध्यान धरा विनंत्यांची अंदाज लागू करताना
- प्रतिसेकंद लिहिलेलं डेटा आवश्यक असलेलं डेटा किती असलं
- 5 वर्षांतील कुल भंडारण आवश्यक आहे
- प्रतिसेकंद वाचलेली माहिती किती असली
- व्याख्यानशील डिझाईन:
- पर्याय (सेवा, डेटा, कॅशिंग)
- इंफ्रास्ट्रक्चर: लोड बॅलन्सिंग, संदेशदारी
- तंत्रज्ञान: सेवेच्या प्रवाहाची कुंडली
- बंदरघर आणि त्याचे समाधाने
- समस्या आणि परिधीचे समजा:
- अभ्यास:
मी तुम्हाला एक चांगला सॉफ्टवेअर इंजिनिअर बनवण्यासाठी आणि कितीतरी तंत्रज्ञान आणि
अल्गोरिदम्सविषयी जागरूक होऊन, तुमच्याकडे एक विशाल टूलबॉक्स असावं.
-
- एक UNIX-आधारित कोड संपादकाशी परिचित व्हा
- vi(m):
- emacs:
- Emacsसाठी नवीन प्रारंभिक पूर्ण मार्गदर्शन (व्हिडिओ द्वारा डेव्हिड विल्सन)
- Emacsसाठी नवीन प्रारंभिक पूर्ण मार्गदर्शन (डेव्हिड विल्सन नोट्स)
-
- खान अकॅडेमी
- अधिक मार्कोव प्रक्रियांच्याबद्दल:
- खालील MIT 6.050J माहिती आणि एंट्रोपी सिरीजमध्ये अधिक पहा
-
- परिचय
- पॅरिटी
- हॅमिंग कोड:
- त्रुटी कसे तपासावे
-
- खालील व्हिडिओपणे पहा
- सूर्यप्रकाश सिद्धांत व्हिडिओंची पहिलीच वाचन करा
- माहिती सिद्धांत, क्लोड शॅनन, अंतवर्तीता, अतिरिक्तता, डेटा संक्षेपण आणि बिट्स (व्हिडिओ)
-
- खालील व्हिडिओपणे पहा
- सूर्यप्रकाश सिद्धांत व्हिडिओंची पहिलीच वाचन करा
- खान अकॅडेमी सिरीज
- संरक्षणाशास्त्र: हॅश फंक्शन्स
- संरक्षणाशास्त्र: एन्क्रिप्शन
-
- सूर्यप्रकाश सिद्धांत व्हिडिओंची पहिलीच वाचन करा
- Computerphile (व्हिडिओ):
- कंप्रेसर हेड व्हिडिओ
- (पर्यायी) गूगल डेव्हलपर्स लाइव: GZIP योग्य नाही!
-
- m बिट्स आणि k हॅशिंग फंक्शनसह दिलेल्या ब्लूम फिल्टरमध्ये अंचन आणि सदस्यता चाचणी O(k) आहेत
- ब्लूम फिल्टर (व्हिडिओ)
- ब्लूम फिल्टर | महासंख्याची खाणी | स्टॅनफोर्ड युनिव्हर्सिटी (व्हिडिओ)
- ट्यूटोरियल
- ब्लूम फिल्टर App कसे लिहावा
-
- कागदपत्रांच्या समानतेचे निर्धारण करण्यासाठी वापरले जाते
- एमडी5 किंवा एसएचएसासारख्या नावांतरीत कागदपत्रांच्या विश्वातल्या नावांची सुरक्षितता करण्यासाठी वापरले जाते
- सिमहॅशिंग (आशा करत आहे) सोपे केले
-
-
कमीत कमी एक प्रकारची संतुलित दोन वनबीज झाड (आणि ते कसे अंमलात आहे हे ओळखा):
-
"संतुलित शोध झाडांमध्ये, AVL आणि 2/3 झाड आता passé आहेत आणि रेड-ब्लॅक झाडांचं दिसणं अधिक प्रसिद्ध दिसतं. विशेषतः विचारले तरी, एसप्ले झाड हे एक विशेषतः आकर्षक स्वत: संगणना संरचना आहे, जे स्पिन जोडतात कोणत्याही पहुचताचे की निकष किंवा विस्तार त्यातील विलिन विवाहरू. मला आवडतं आहे आपण आपल्या अंशकात्मकतेत कोणत्याही असंख्य संरचना तयार करताना विचारलं पाहिजे खूप विचारलं जातं, रेड-ब्लॅक झाडांमध्ये पूर्णत्वसाठी आवश्यक असतात. उदाहरणार्थ, गणितीय ज्यामितीतील विविध डेटा संरचन लागू करण्यासाठी अनेक डेटा संरचनांमध्ये आधारित रेड-ब्लॅक झाडे, आणि वर्तमान लिनक्स करनेल्समध्ये वापरले जातात पूर्णत्वसाठी ग्राहकांचा न्याय पाहतात. जावाच्या 8 आवृत्यात, संगणना हॅशमॅपविजेच्या संगणकावर संरक्षण अजेंडा एसएनएसमध्ये विनिर्मित केले जाते"
-
एसप्ले झाडे
- प्रयोगात: स्वयं संगणना संरचनांमध्ये साधारणतः एसप्ले झाडे वापरले जातात, कॅशेस, मेमरी आवंटर, रूटर्स, कचरा संग्राहक, डेटा संकुचन, रोप (लांबी मजकुरांसाठी वापरलेले स्ट्रिंगस चे स्थानांतरण), Windows NT (मध्ये आवृत्ती मेमरी, नेटवर्किंग आणि फायल सिस्टम कोड) इ. - CS 61B: एसप्ले झाडे (व्हिडिओ)
- MIT लेक्चर: एसप्ले झाडे:
- खूप मॅथी असते, परंतु आशा करा की शेवटचे 10 मिनिटं नक्की पाहा.
- व्हिडिओ
-
रेड-ब्लॅक झाडे
- आपल्या सुरुवातीत: रेड-ब्लॅक झाडांनी निवड करण्यासाठी अनेक अप्रत्यक्ष अनुमतियां देतात, विशेषत: एका संगणकीय ज्यामितीय अप्रत्यक्ष डेटा संरचना आहे; उदाहरणार्थ, कॉम्प्यूटेशनल ज्यामितीमधील अनेक डेटा संरचने रेड-ब्लॅक झाडांमध्ये आधारित असू शकतात, आणि हे काही मूळ आहे ब्लॅक स्वरुपांमध्ये रूपांतर करण्यास रेड-ब्लॅक झाडे वापरली जातात.
- Aduni - अल्गोरिदम - लेक्चर 4 (लिंक प्रारंभिक ठिकाणी जातो) (व्हिडिओ)
- Aduni - अल्गोरिदम - लेक्चर 5 (व्हिडिओ)
- रेड-ब्लॅक झाड (विकिपीडिया)
- द्विनांतर शोध आणि रेड-ब्लॅक झाड (लेख)
- [पुनरावलोकन] रेड-ब्लॅक झाडे (प्लेलिस्ट) 30 मिनिटंमध्ये (व्हिडिओ)
-
2-3 शोध झाडे
- प्रयोगात: 2-3 झाडे वेगवेगळ्या संरचनांमध्ये शीघ्र मजकूर देण्यासाठी वापरले जातात.
- 23-Tree Intuition आणि परिभाषा (व्हिडिओ)
- 2-3 झाडे (विक्षिप्त अभ्यास) (व्हिडिओ)
- 2-3 झाडे (विद्यार्थी उपस्थिती) (व्हिडिओ)
-
2-3-4 झाडे (2-4 झाडे म्हणूनही)
- प्रयोगात: प्रत्येक 2-4 झाडासाठी, त्यांच्या दिलेल्या डेटा घटकांसह संबंधित रेड-ब्लॅक झाडे आहेत. संग्रहणा आणि अपवाद 2-4 झाडांवरील ऑपरेशन्सह रेड-ब्लॅक झाडांमध्ये रंग-फ्लिपिंग आणि परिस्थिती बदलार्यांसमध्ये समाविष्ट केले जाते. हे रेड-ब्लॅक झाड्या समजण्यासाठी महत्त्वाचे उपकरण बनवतात, आणि याचं कारण अधिकांश प्रारंभिक अल्गोरिदम पुस्तके 2-4 झाड्यांना आधी रेड-ब्लॅक झाड्यांच्या आधारावर परिचित करतात, याचं कारण 2-4 झाडे प्रयोगात कमी किंवा आत्ता नाहीत.
- CS 61B लेक्चर 26: संतुलित शोध झाडे (व्हिडिओ)
- Bottom Up 234-Trees (व्हिडिओ)
- Top Down 234-Trees (व्हिडिओ)
-
N-अरे (K-अरे, M-अरे) झाडे
- टीप: N किंवा K हे ब्रांचिंग फॅक्टर (जास्तीत जास्त शाखा) आहे
- द्विआधार झाडे एका 2-अर्य झाड्यामध्ये शाखा किंवा ब्रांचिंग फॅक्टर = 2 सह
-
बी-झाडे
- मजकूर: हे एक रहस्य आहे, परंतु बी किंवा बॉईंग, संतुलित, किंवा बेयर (सहवासी विक्रेता) ची माझी असते.
- प्रयोगात: डेटाबेसमध्ये बी-झाडे वापरले जातात. अधिक आधुनिक फायलसिस्टम्स बी-झाड्यांमध्ये वापरले जातात (किंवा वॅरिअंट्स). संग्रहणा व्यास आणि बॉकसातील कोणत्याही एक ब्लॉकमध्ये एक विशिष्ट ब्लॉकमध्ये झपाटीपासून किंवा (किंवा व्यासाच्या दोनदा) पर्यंतीचा डिस्क ब्लॉकमध्ये नक्ष बदलार्यांसाठी त्याची मुख्य समस्या आहे.
- बी-झाडे
- बी-झाडे डेटास्ट्रक्चर (व्हिडिओ)
- बी-झाड्यांच्या परिचय (व्हिडिओ)
- बी-झाडे परिभाषा आणि संयोजन (व्हिडिओ)
- बी-झाडे डिलीशन (व्हिडिओ)
- MIT 6.851 - मेमरी हायरार्की मॉडेल (व्हिडिओ) - कॅश-ओब्लिव्हिअस बी-झाड्यांवर मिंट्यात तात्पुरत्या माहितीसह पाहिलं जातं, आणि अत्यंत आकर्षक डेटा संरचने आहेत - पहिले 37 मिनिटं खूप तंत्रज्ञान असतं, आणि ते वगळा जाऊ शकतं (बी ब्लॉक आकार आहे, कॅश लायन आकार)
- [पुनरावलोकन] बी-झाडे (प्लेलिस्ट) 26 मिनिटंमध्ये (व्हिडिओ)
-
-
- एकाच आकारातल्या किंवा उच्च-आयामी वस्तूतील किंवा अंकांचे कुठलेही नंबर शोधण्यासाठी उत्कृष्ट आहेत
- k-निकटतम पडद्या साठी एक चांगला मिळवा
- kNN K-d झाड अल्गोरिदम (व्हिडिओ)
-
- "ये काही सोसायटी डेटा संरचन आहेत" - स्कीना
- क्रमांकवाचन: स्किप यादी (व्हिडिओ)
- अनिमेशनसह आणि थोडं अधिक तपशीलांसाठी
-
- एक बाइनरी शोध झाड आणि एक कोळीची संरचना
- ट्रेप
- डेटा संरचना: ट्रेप समजले (व्हिडिओ)
- सेट ऑपरेशनमध्ये अर्ज सापडले
मी खालीलपैकी काही विचारे सुरक्षित करण्यात यावीत कारण हे अधिकाधिक सांगितले तर काही क्षेत्रात अत्यधिक आवडायला सक्तो. एक शतकात तुम्ही नोकरी सापडायला इच्छितात ना?
-
SOLID
- बॉब मार्टिन SOLID ऑब्जेक्ट ओरिएंटेड आणि एजाइल डिझायनचे सिद्धांत (व्हिडिओ)
- S - एकल जबाबदारीवर्गीय सिद्धांत | प्रत्येक ऑब्जेक्टवर एकल जबाबदारी
- O - ओपन/क्लोज्ड सिद्धांत | तयार ऑब्जेक्ट विस्तारसाठी तयार आहेत पण संशोधनसाठी नाहीत
- L - लिस्कोव सब्स्टिट्यूशन प्रिन्सिपल | आधार क्लास आणि व्युत्पन्न क्लास 'IS A' सिद्धांतांचा पालन
- I - इंटरफेस विभाजन सिद्धांत | ग्राहक वापरत नसलेल्या इंटरफेस्स लागू कराव्याचे प्रतिबद्ध नसावे
- D -डिपेंडन्सी इन्वर्शन सिद्धांत | वस्तुदेहाच्या संरचनेत डिपेंडेन्सी कमी करा.
-
युनियन-फाइंड
-
अधिक डायनॅमिक प्रोग्रामिंग (व्हिडिओ)
- 6.006: डायनॅमिक प्रोग्रामिंग I: फिबोनाची, लहान फाटके
- 6.006: डायनॅमिक प्रोग्रामिंग II: मजकूर ठेवणे, ब्लॅकजॅक
- 6.006: DP III: पॅरेन्थेसिझेशन, एडिट डिस्टन्स, नॅप्सॅक
- 6.006: DP IV: गिटार फिंगरिंग, टेट्रिस, सुपर मारियो ब्रोस.
- 6.046: डायनॅमिक प्रोग्रामिंग आणि उन्नत DP
- 6.046: डायनॅमिक प्रोग्रामिंग: सर्व पॅअर्स लहान फाटके
- 6.046: डायनॅमिक प्रोग्रामिंग (विद्यार्थी उच्चारण)
-
उन्नत ग्राफ प्रक्रिया (व्हिडिओ)
-
MIT प्रायव्हाबिलिटी (मॅथी, आणि धीरे जाऊन, ज्याने गणितीय प्राण्यांसाठी चांगलं आहे) (व्हिडिओ):
-
स्ट्रिंग मॅचिंग
- रबिन-कार्प (व्हिडिओ):
- क्नुथ-मोर्रिस-प्रॅट (केएमपी):
- बॉयर-मूर स्ट्रिंग शोध ऍल्गोरिदम
- Coursera: स्ट्रिंग्सवरील ऍल्गोरिदम
- कडेवार, पण कडे केएमपी प्रोक्रियेबद्दल आधीच जात असताना हे अधिक जटिल झाले आहे.
- ट्रायज़बद्दल छान स्पष्टीकरण.
- वजनाबद्दल जाणून घेण्यात आलं.
-
क्रमवारी
- स्टॅनफोर्ड कक्षा याद्यासृष्टी:
- शै साइमन्सन:
- स्टीवन स्कीना कक्षा याद्यासृष्टी:
-
NAND टू टेट्रिस: प्रथम सिद्धांतांपासून एक सजीव कंप्युटर बांधा
आराम करा आणि आनंद घ्या.
-
UC Berkeley 61B (स्प्रिंग २०१४): डेटा संरचनांचे (२५ व्हिडिओ)
-
Carnegie Mellon - कॉम्प्यूटर आर्किटेक्चर व्याख्यान (३९ व्हिडिओ)
-
MIT 6.042J: कॉम्प्यूटर सायन्ससाठी गणित, फॉल २०१० (२५ व्हिडिओ)
-
Mining Massive Datasets - स्टॅनफोर्ड युनिव्हर्सिटी (९४ व्हिडिओ)
- ऑनलाइन संगणक विज्ञान पाठ्यक्रमांची निर्देशिका
- संगणक विज्ञान पाठ्यक्रमांची निर्देशिका (अनेकांसह ऑनलाइन व्याख्यान)
- क्लासिक कागदपत्रांची प्रेमक्षेत्रं?
- 1978: संचारण सरलक्रम प्रक्रिया
- 2003: गूगल फाइल प्रणाली
- 2012 मध्ये कॉलोसस स्थानांतरित
- 2004: मॅपरिड्यूस: मोठ्या क्लस्टरवर सरलीकृत डेटा प्रक्रिया
- अधिकांशतः क्लाउड डेटाफ्लोव्हवर बदलले?
- 2006: बिगटेबल: संरचित डेटासाठी वितरित संग्रहण प्रणाली
- 2006: छट्टी फडकन सेवा: संलग्न वितरित प्रणालीसाठी
- 2007: डिनामो: अमेझॉनची अत्यंत उपलब्ध की-मूल्य मालमत्ता केंद्र
- डिनामो कागदपत्राने नोएस्क्यूएल क्रांतीचे सुरवात केले
- 2007: प्रत्येक कंप्यूटर चा मेमोरीवारी जाणारा वाचनीय असलेलं काही (अत्यंत लांब, आणि लेखक काही विभागांचा कड़काट जाहीर करण्याचा प्रोत्साहन करतो)
- 2012: AddressSanitizer: एक वेगवान पत्ता स्वास्थ्य तपासणीकर्ता:
- 2013: स्पॅनर: गूगलचं जागतिकपटल डेटाबेस:
- 2015: गूगलवरील सतत पायपलाइन्स
- 2015: मोठ्या पैमान्यात उपलब्ध: गूगलच्या विज्ञापनांसाठी डेटा संरचना इंफ्रास्ट्रक्चर तयार करणे
- 2015: डेव्हलपर्स कोड सारख्या शोधतात कसं: एक प्रकरण अभ्यास
- अधिक कागदपत्र: 1,000 कागदपत्र