🔴 Advanced · Lesson 48
Interview Questions
C interviews कैसे होते हैं
C interviews आमतौर पर तीन चीज़ें मिलाते हैं: concept प्रश्न ("इसमें क्या अंतर है..."), pointer और memory पहेलियाँ, और कागज़ या screen पर लिखने के लिए छोटी coding problems। यह lesson बार-बार आने वाले प्रश्न इकट्ठा करता है, छोटे, साफ़ उत्तरों के साथ जो आप सच में याद रख सकें।
किसी भी विषय की गहरी जानकारी के लिए linked lessons देखें — यह page एक revision hub है।
Concept प्रश्न और उत्तर
| प्रश्न | संक्षिप्त उत्तर |
|---|---|
| Array बनाम pointer? | Array fixed block है; pointer दोबारा assign होने वाला address रखता है। देखें arrays और pointers। |
| Structure बनाम union? | Struct हर member को अपनी memory देता है; union एक साझा करता है। देखें structure बनाम union। |
| Storage class क्या है? | यह variable का lifetime और visibility तय करता है (auto, static, extern, register)। देखें storage classes। |
| Call by value बनाम reference? | Value data copy करता है; reference address भेजता है ताकि बदलाव टिकें। देखें call by value/reference। |
Pointer और memory प्रश्न
- NULL pointer क्या है? ऐसा pointer जो कहीं इशारा नहीं करता,
NULLलिखा जाता है। Dereference से पहले हमेशा जाँचें। - Dangling pointer क्या है? पहले से free हुई memory का pointer।
freeके बाद pointers कोNULLकरें। - malloc बनाम calloc?
mallocmemory uninitialised छोड़ता है;callocउसे zero करता है। देखें dynamic memory। - Memory leak क्या है? Allocate की गई memory जो कभी free नहीं हुई, तो उपयोग program खत्म होने तक बढ़ता है।
💡 Interviewers को pointers पसंद हैं
Boxes और arrows बनाने को तैयार रहें। Pointer को झटपट memory diagram से समझाना definition रटने से ज़्यादा प्रभावित करता है।
आम coding problems
ये छोटे programs लगातार आते हैं। पक्का करें कि हर एक याद से लिख सकें:
- String या number reverse करना।
- जाँचना कि number prime है या string palindrome।
- दो numbers बिना तीसरे variable swap करना।
- Array में सबसे बड़ा element ढूँढना।
- Linked list बनाना और traverse करना; उसे reverse करना।
- Factorial और Fibonacci, loop और recursion दोनों versions।
उदाहरण: palindrome जाँच
int isPalindrome(char s[]) {
int i = 0, j = 0;
while (s[j] != '\0') j++; // length nikalein
j--;
while (i < j)
if (s[i++] != s[j--]) return 0; // mel nahi
return 1; // sab mile
}तैयारी के सुझाव
- Code हाथ से लिखने का अभ्यास करें — कई interviews कागज़ या whiteboard पर होते हैं।
- Code करते समय अपनी सोच बोलकर समझाएँ; interviewers reasoning को अंक देते हैं।
- सिर्फ़ definition नहीं, क्यों जानें — "ऐसा क्यों होता है?" के लिए तैयार रहें।
- Pointers, memory और strings सबसे ज़्यादा revise करें; ये लगभग हर C interview में आते हैं।
🏋️ अभ्यास
ऊपर से पाँच प्रश्न चुनें और हर एक का उत्तर अपने शब्दों में बोलकर दें, फिर coding वाले खाली editor से बिना देखे लिखें। यह असली interview दबाव जैसा है।
सारांश
- C interviews concept प्रश्न, pointer/memory पहेलियाँ और coding problems मिलाते हैं।
- Array बनाम pointer, struct बनाम union, storage classes और call by value/reference में महारत रखें।
- NULL और dangling pointers, malloc बनाम calloc, और memory leaks में धाराप्रवाह हों।
- Classic programs (reverse, palindrome, linked list) हाथ से अभ्यास करें।
- अपनी सोच बोलकर समझाएँ और revision pointers, memory तथा strings पर केंद्रित करें।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
C में array और pointer में क्या अंतर है?
Array लगातार elements का एक fixed block है, और उसका नाम पूरे block को दर्शाता है; pointer एक variable है जो address रखता है और दोबारा assign हो सकता है। Array नाम अपने पहले element का address देता है पर बदला नहीं जा सकता, जबकि pointer समय के साथ अलग जगहों पर इशारा कर सकता है।
malloc और calloc में क्या अंतर है?
दोनों heap पर memory allocate करते हैं।
malloc एक size argument लेता है और memory को uninitialised छोड़ता है, जबकि calloc एक count और size लेता है, उतने elements allocate करता है, और हर byte को zero करता है। शुरू में memory साफ़ चाहिए तो calloc इस्तेमाल करें।Dangling pointer क्या है?
Dangling pointer वह pointer है जो अब भी उस memory का address रखता है जो पहले ही free हो चुकी या scope से बाहर चली गई। इसे इस्तेमाल करना undefined behaviour देता है। जिस चीज़ पर इशारा था उसे free करने के तुरंत बाद pointer को
NULL करके इससे बचते हैं।C में structure और union में क्या अंतर है?
Structure हर member को अपनी memory देता है, तो सभी members एक साथ values रख सकते हैं और उसका size सभी members का कुल होता है। Union एक memory block सभी members में साझा करता है, तो एक समय में एक ही valid होता है और उसका size सबसे बड़े member जितना होता है।
C में static keyword का क्या उपयोग है?
Function के अंदर,
static local variable को हर बार बनने के बजाय calls के बीच अपनी value रखने देता है। File स्तर पर, static variable या function को उसी file तक सीमित करता है, उसे दूसरी files से छिपाते हुए। दोनों उपयोग आम interview विषय हैं।