Failed to render content. Please refresh the page. Showing plain-text fallback.
"@/కాంపోనెంట్స్/CTA" నుంచి CTA ని ఇంపోర్ట్ చేసుకోండి
సాఫ్ట్ వేర్ ఇంజనీరింగ్ ఇంటర్వ్యూ ప్రశ్నలు: SDE పాత్రల కోసం పూర్తి గైడ్ (2025)
చివరిగా నవీకరించబడింది: ఫిబ్రవరి 7, 2025
కీ టేక్ అవేస్
- సాఫ్ట్ వేర్ ఇంజనీరింగ్ ఇంటర్వ్యూలు కోడింగ్, సిస్టమ్ డిజైన్, మరియు ప్రవర్తనా ప్రశ్నలపై దృష్టి పెడతాయి
- మాస్టర్ డేటా స్ట్రక్చర్లు, అల్గారిథంలు మరియు డిజైన్ ప్యాటర్న్ లు
- పరిష్కారాలు మరియు ట్రేడ్ ఆఫ్ లను స్పష్టంగా వివరించడం ప్రాక్టీస్ చేయడం
- డిస్ట్రిబ్యూటెడ్ సిస్టమ్ లు మరియు స్కేలబిలిటీ కాన్సెప్ట్ లను అర్థం చేసుకోవడం
- వ్యక్తిగత కంట్రిబ్యూటర్ మరియు టీమ్ సహకార ప్రశ్నలు రెండింటికీ సిద్ధం కావడం
🎯 ప్రో చిట్కా: సాఫ్ట్ వేర్ ఇంజనీరింగ్ ఇంటర్వ్యూలు కోడ్ వ్రాయడం, వ్యవస్థలను రూపొందించడం మరియు ఇతరులతో కలిసి పని చేసే మీ సామర్థ్యాన్ని పరీక్షిస్తాయి. ఫండమెంటల్స్ పై దృష్టి పెట్టండి, క్రమం తప్పకుండా ప్రాక్టీస్ చేయండి మరియు ప్రక్రియ అంతటా స్పష్టమైన ఆలోచన మరియు కమ్యూనికేషన్ ప్రదర్శించండి.
సాఫ్ట్ వేర్ ఇంజనీరింగ్ ఇంటర్వ్యూ స్ట్రక్చర్
సాఫ్ట్ వేర్ ఇంజనీరింగ్ ఇంటర్వ్యూలు సాధారణంగా వివిధ సామర్థ్యాలను అంచనా వేసే బహుళ రౌండ్లను కలిగి ఉంటాయి:
ఇంటర్వ్యూ రౌండ్లు:
- ఫోన్ స్క్రీన్: ప్రాథమిక కోడింగ్ మరియు ప్రవర్తనా ప్రశ్నలు
- టెక్నికల్ ఇంటర్వ్యూ: కోడింగ్ సమస్యలు మరియు సిస్టమ్ డిజైన్
- ఆన్-సైట్/ప్యానెల్: బహుళ ఇంటర్వ్యూయర్లు, వివిధ అంశాలు
- ఫైనల్ రౌండ్: సీనియర్ నాయకత్వం మరియు సాంస్కృతిక ఫిట్
మూల్యాంకన ప్రాంతాలు:
- కోడింగ్ నైపుణ్యాలు: డేటా నిర్మాణాలు, అల్గోరిథంలు, సమస్య పరిష్కారం
- సిస్టమ్ డిజైన్: స్కేలబిలిటీ, ఆర్కిటెక్చర్, ట్రేడ్-ఆఫ్స్
- ప్రవర్తన: టీమ్ వర్క్, నాయకత్వం, సమస్య పరిష్కార విధానం
- డొమైన్ నాలెడ్జ్: భాష/ఫ్రేమ్ వర్క్ నిర్దిష్ట ప్రశ్నలు
కోడింగ్ ఇంటర్వ్యూ ప్రశ్నలు
ఈజీ లెవల్ సమస్యలు
1. చెల్లుబాటు అయ్యే కుండలీకరణలు
సమస్య: కేవలం '(', ')', '{', '}', '[' మరియు ']' అక్షరాలను కలిగి ఉన్న స్ట్రింగ్ ఇవ్వబడితే, ఇన్ పుట్ స్ట్రింగ్ చెల్లుబాటు అవుతుందో లేదో నిర్ణయించండి.
కరిగినది:
'కొండచిలువ
డెఫ్ isvalid(లు):
స్టాక్ = []
మ్యాపింగ్ = {')': '(', '}': '{', ']': '['}
S లో అక్షరం కొరకు:
మ్యాపింగ్ లో అక్షరాలు ఉంటే:
# క్లోజింగ్ బ్రాకెట్
topelement = stack.pop() గనక '#' స్టాక్ చేస్తే
మ్యాపింగ్ అయితే != topelement:
రిటర్న్ తప్పుడు
లేకపోతే:
# ఓపెనింగ్ బ్రాకెట్
Stack.append(char)
రిటర్న్ స్టాక్ కాదు
సమయం: O(n + m), స్థలం: O(1)
కీలక భావనలు: లింక్ చేయబడిన జాబితాలు, అల్గారిథంలను విలీనం చేయండి
మీడియం లెవల్ సమస్యలు
1. LRU కాష్
సమస్య: LRU (తక్కువ ఇటీవల ఉపయోగించిన) కాష్ ను రూపొందించండి మరియు అమలు చేయండి.
కరిగినది:
'కొండచిలువ
క్లాస్ LRUCache:
డెఫ్ init(స్వీయ, సామర్థ్యం):
స్వీయ.సామర్థ్యం = సామర్థ్యం
self.cache = {} # కీ -> నోడ్
స్వీయ తల = కణుపు(0, 0)
సెల్ఫ్.టెయిల్ = నోడ్ (0, 0)
సెల్ఫ్.హెడ్.నెక్స్ట్ = సెల్ఫ్.టెయిల్
self.tail.prev = self.head
డెఫ్ remove(స్వీయ, నోడ్):
ప్రెవ్, nxt = node.prev, node.next
prev.next nxt.prev = nxt, prev
డెఫ్ add(స్వీయ, నోడ్):
ముందు = self.tail.prev
prev.next = నోడ్
self.tail.prev = నోడ్
node.prev, node.next = prev, self.tail
డెఫ్ గెట్ (స్వీయ, కీ):
సెల్ఫ్.క్యాచీలో కీ అయితే:
నోడ్ = సెల్ఫ్.కాష్[కీ]
self.remove(నోడ్)
self.add(నోడ్)
రిటర్న్ నోడ్.వాల్యూ
రిటర్న్ -1
డెఫ్ పుట్ (సెల్ఫ్, కీ, వాల్యూ):
సెల్ఫ్.క్యాచీలో కీ అయితే:
self.remove(self.cache[కీ])
నోడ్ = నోడ్ (కీ, విలువ)
self.add(నోడ్)
సెల్ఫ్.కాష్ [కీ] = నోడ్
ఒకవేళ లెన్ (self.cache) సెల్ఫ్ కెపాసిటీ >:
lru = self.head.next
self.remove(LRU)
del self.cache[lru.key]
సమయం: O(n), స్థలం: O(h)
కీలక భావనలు: ట్రీ ట్రావర్సల్, డైనమిక్ ప్రోగ్రామింగ్
సిస్టమ్ డిజైన్ ఇంటర్వ్యూ ప్రశ్నలు
1. ఒక URL షార్టనింగ్ సర్వీస్ (TinyURL) డిజైన్ చేయండి
అవసరాలు:
- పొడవైన URLలను చిన్న కోడ్ లకు కుదించండి
- చిన్న URL లను అసలు URLలకు మళ్ళించండి
- అధిక ట్రాఫిక్ ను నిర్వహించండి (రోజుకు మిలియన్ల అభ్యర్థనలు)
- ప్రత్యేకతను నిర్ధారించండి మరియు ఘర్షణలను నివారించండి
- URL వినియోగంపై విశ్లేషణలను అందించండి
డిజైన్ పరిగణనలు:
- ఎన్ కోడింగ్: URL కోడ్ ల కోసం బేస్ 62 ఎన్ కోడింగ్
- నిల్వ: URL మ్యాపింగ్లను నిల్వ చేయడానికి డేటాబేస్
- స్కేలబిలిటీ: పంపిణీ చేసిన డేటాబేస్ మరియు కాషింగ్
- ప్రత్యేకత: ప్రత్యేక సంకేతాలను రూపొందించండి
- గడువు ముగియడం: URL గడువును నిర్వహించండి
వాస్తుశాస్త్రము:
- API సర్వర్ ల → బ్యాలెన్సర్ ను → డేటాబేస్ (షార్డెడ్) + కాష్ (రెడిస్) లోడ్ చేయండి
- ప్రత్యేక రీడ్ / రైట్ డేటాబేస్ లు
- గ్లోబల్ డిస్ట్రిబ్యూషన్ కోసం CDN
- పర్యవేక్షణ మరియు విశ్లేషణలు
ముఖ్య భాగాలు:
- హ్యాష్ ఫంక్షన్: కోడ్ జనరేషన్ కోసం MD5/SHA-256
- డేటాబేస్ స్కీమా: urlcode (PK), originalurl, createddate, expiresdate, clickcount
- క్యాచింగ్ వ్యూహం: రెడిస్ లో ప్రసిద్ధ URL లను కాష్ చేయండి
- రేటు పరిమితి: దుర్వినియోగాన్ని నివారించండి
2. నోటిఫికేషన్ సిస్టమ్ డిజైన్ చేయండి
అవసరాలు:
- బహుళ ఛానెల్ ల ద్వారా నోటిఫికేషన్ లను పంపండి (ఇమెయిల్, SMS, పుష్)
- ప్రతిరోజూ మిలియన్ల కొద్దీ నోటిఫికేషన్లను హ్యాండిల్ చేయండి
- వివిధ నోటిఫికేషన్ రకాలు మరియు ప్రాధాన్యతలకు మద్దతు ఇవ్వండి
- పునఃప్రయత్నాలతో విశ్వసనీయమైన డెలివరీని నిర్ధారించండి
- వినియోగదారు ప్రాధాన్యతలు మరియు నిలిపివేతలను అనుమతించండి
డిజైన్ పరిగణనలు:
- స్కేలబిలిటీ: అధిక వాల్యూమ్ మరియు స్పైక్ లను హ్యాండిల్ చేయండి
- విశ్వసనీయత: సందేశ డెలివరీని నిర్ధారించుకోండి
- ఛానెల్స్: బహుళ డెలివరీ పద్ధతులకు మద్దతు ఇస్తుంది
- వ్యక్తిగతీకరణ: వినియోగదారు ప్రాధాన్యతలు మరియు అనుకూలీకరణ
- విశ్లేషణలు: ట్రాక్ డెలివరీ మరియు నిశ్చితార్థం
వాస్తుశాస్త్రము:
- API గేట్ వే → మెసేజ్ క్యూ (కాఫ్కా) → ఛానల్ కార్మికులు → బాహ్య API లు
- వినియోగదారు ప్రాధాన్యతలు మరియు నోటిఫికేషన్ చరిత్ర కోసం డేటాబేస్
- ఘాతాంక బ్యాక్ఆఫ్ తో మెకానిజంను తిరిగి ప్రయత్నించండి
- విఫలమైన సందేశాల కోసం డెడ్ లెటర్ క్యూ
ముఖ్య భాగాలు:
- సందేశ క్యూ: లోడ్ ను నిర్వహించడానికి అసమకాలీకరణ ప్రాసెసింగ్
- కార్మిక సేవలు: ప్రతి ఛానెల్ కు ప్రత్యేక కార్మికులు
- మూస ఇంజిన్: డైనమిక్ కంటెంట్ జనరేషన్
- ప్రాధాన్యత ఇంజిన్: వినియోగదారు సెట్టింగులు మరియు నిలిపివేత నిర్వహణ
3. సోషల్ మీడియా ఫీడ్ డిజైన్ చేయండి
అవసరాలు:
- మిలియన్ల మంది వినియోగదారుల కోసం వ్యక్తిగతీకరించిన ఫీడ్లను రూపొందించండి
- పోస్ట్ లు, లైక్ లు, వ్యాఖ్యలు, ఫాలోస్ హ్యాండిల్ చేయండి
- రియల్ టైమ్ అప్డేట్స్ మరియు నోటిఫికేషన్లు
- బిలియన్ల పరస్పర చర్యలకు స్కేల్
- తక్కువ జాప్యం మరియు అధిక లభ్యతను నిర్ధారించండి
డిజైన్ పరిగణనలు:
- వ్యక్తిగతీకరణ: వినియోగదారుకు కంటెంట్ ను ర్యాంక్ చేయండి మరియు ఫిల్టర్ చేయండి
- నిజ-సమయం: క్రియాశీల వినియోగదారుల కోసం ప్రత్యక్ష నవీకరణలు
- స్కేలబిలిటీ: భారీ రీడ్ / రైట్ లోడ్ ను నిర్వహించండి
- స్థిరత్వం: కొన్ని కార్యకలాపాలకు చివరికి స్థిరత్వం
- గోప్యత: వినియోగదారు గోప్యతను గౌరవించండి మరియు నిరోధించండి
వాస్తుశాస్త్రము:
- వ్రాత మార్గం: API → సందేశ క్యూ → డేటాబేస్ + కాష్
- రీడ్ పాత్: కాష్ → డేటాబేస్ → ఫీడ్ సర్వీస్
- రియల్ టైమ్: లైవ్ అప్ డేట్ ల కోసం వెబ్ సాకెట్ కనెక్షన్లు
- ఫ్యాన్-అవుట్: చిన్న ఫాలోయింగ్ ల కోసం పుష్ మోడల్, పెద్ద కోసం లాగండి
ముఖ్య భాగాలు:
- ఫీడ్ ర్యాంకింగ్: కంటెంట్ ర్యాంకింగ్ కోసం మెషిన్ లెర్నింగ్
- క్యాచింగ్ లేయర్స్: బహుళ-స్థాయి కాచింగ్ (CDN, రెడిస్, స్థానిక)
- డేటాబేస్ షేర్డింగ్: బహుళ డేటాబేస్ లలో డేటాను పంపిణీ చేయండి
- రియల్ టైమ్ పైప్ లైన్: లైవ్ అప్ డేట్ ల కోసం స్ట్రీమ్ ప్రాసెసింగ్
డిజైన్ ప్యాట్రన్ లు & OOP ప్రశ్నలు
1. సింగిల్టన్ నమూనా
ప్రశ్న: థ్రెడ్-సేఫ్ సింగిల్టన్ నమూనాను అమలు చేయండి.
కరిగినది:
'కొండచిలువ
తరగతి సింగిల్టన్:
instance = ఏదీ లేదు
lock = థ్రెడింగ్. లాక్ ()
DEF new(CLS):
ఒకవేళ cls.instance ఏదీ కానట్లయితే:
cls.lock తో:
ఒకవేళ cls.instance ఏదీ లేనట్లయితే: # రెండుసార్లు చెక్ చేయబడ్డ లాకింగ్
cls.instance = సూపర్ ().new(cls)
రిటర్న్ cls.instance
డెఫ్ init (స్వీయ):
కాకపోతే హసాట్టర్ (స్వీయ, 'ప్రారంభం'):
# ఒక్కసారి మాత్రమే ఇనిస్టలైజ్ చేయండి
సెల్ఫ్.డేటా = {}
స్వీయ.ప్రారంభం = సత్యం
కీలక భావనలు: నైరూప్యత, బహురూపత, ఎన్ క్యాప్సులేషన్
సాఫ్ట్వేర్ ఇంజనీర్ల కోసం ప్రవర్తనా ప్రశ్నలు
టీమ్ వర్క్ & సహకారం
1. టెక్నికల్ అప్రోచ్ గురించి మీ సహోద్యోగితో విభేదించిన సమయం గురించి చెప్పండి.
బలమైన సమాధానం:
"నా మునుపటి పాత్రలో, నా సహోద్యోగి కొత్త మైక్రోసర్వీస్ కోసం ఏకశిలా నిర్మాణాన్ని ఉపయోగించాలనుకున్నాడు, అయితే నేను దానిని చిన్న సేవలుగా విభజించాలని వాదించాను. పరిశ్రమ కేస్ స్టడీస్ మద్దతుతో మైక్రోసర్వీసెస్ యొక్క స్కేలబిలిటీ ప్రయోజనాలు మరియు నిర్వహణ ప్రయోజనాలను చూపించే సాంకేతిక వాదనలను నేను సిద్ధం చేసాను.
రెండు విధానాలను చర్చించడానికి మేము మా టెక్ లీడ్ తో సమావేశాన్ని షెడ్యూల్ చేసాము. నేను అభివృద్ధి వేగం మరియు విస్తరణ ఫ్రీక్వెన్సీ మెరుగుదలలపై డేటాను సమర్పించాను. ఏకశిలా విధానం యొక్క సరళత ప్రయోజనాలను నా సహోద్యోగి వివరించాడు.
టెక్ లీడ్ హైబ్రిడ్ విధానాన్ని నిర్ణయించుకుంది - ఏకశిలా ప్రారంభం కానీ భవిష్యత్తులో కుళ్ళిపోవడానికి ప్రణాళిక చేస్తుంది. ఈ అనుభవం డేటా-ఆధారిత సాంకేతిక చర్చల విలువను మరియు రాజీ పరిష్కారాలను కనుగొనడం యొక్క విలువను నాకు నేర్పింది. "
కీలక నైపుణ్యాలు: టెక్నికల్ కమ్యూనికేషన్, రాజీ, డేటా-ఆధారిత నిర్ణయం తీసుకోవడం
సమస్యా పరిష్కార విధానం
2. సంక్లిష్టమైన సమస్యను డీబగ్గింగ్ చేయడం కొరకు మీ ప్రక్రియను వివరించండి.
బలమైన సమాధానం:
"సంక్లిష్టమైన సమస్యలను డీబగ్గింగ్ చేసేటప్పుడు, నేను ఒక క్రమబద్ధమైన విధానాన్ని అనుసరిస్తాను:
1. సమస్యను పునరుత్పత్తి చేయండి: సమస్యను స్థిరంగా పునరుత్పత్తి చేయడానికి కనీస పరీక్ష కేసును సృష్టించండి
2. సమాచారాన్ని సేకరించండి: లాగ్ లు, కొలమానాలు మరియు సిస్టమ్ స్థితిని తనిఖీ చేయండి
3. ఫార్మ్ హైపోథీసిస్: లక్షణాల ఆధారంగా, సంభావ్య మూల కారణాలను గుర్తించండి
4. టెస్ట్ పరికల్పనలు: శాస్త్రీయ పద్ధతిని ఉపయోగించండి - ఒక సమయంలో ఒక వేరియబుల్ ను మార్చండి
5. వెరిఫై ఫిక్స్: కొత్త సమస్యలను ప్రవేశపెట్టకుండా పరిష్కారం సమస్యను పరిష్కరిస్తుందని నిర్ధారించుకోండి
ఉదాహరణకు, మా API ప్రతిస్పందన సమయం 30 సెకన్లకు పెరిగినప్పుడు, నేను మొదట స్టేజింగ్ లో సమస్యను పునరుత్పత్తి చేసాను. లాగ్ విశ్లేషణ డేటాబేస్ క్వైరీ టైమ్ అవుట్ లను చూపించింది. నేను మా ORM లో N+1 ప్రశ్న సమస్యను గుర్తించాను, ఆసక్తిగల లోడింగ్ తో ప్రశ్నను ఆప్టిమైజ్ చేసాను మరియు ప్రతిస్పందన సమయాన్ని 2 సెకన్ల లోపు తగ్గించాను. "
కీలక నైపుణ్యాలు: సిస్టమాటిక్ ప్రాబ్లమ్ సాల్వింగ్, డీబగ్గింగ్ మెథడాలజీ, పెర్ఫార్మెన్స్ ఆప్టిమైజేషన్
అభ్యాసం & వృద్ధి
3. టెక్నాలజీ ట్రెండ్ లతో మీరు ఏవిధంగా వర్తమానంలో ఉంటారు?
బలమైన సమాధానం:
"నిరంతర అభ్యసనకు నేను నిర్మాణాత్మక విధానాన్ని నిర్వహిస్తాను:
- రోజువారీ పఠనం: సాంకేతిక బ్లాగులు, వార్తాలేఖలు (హ్యాకర్ న్యూస్, టెక్ క్రంచ్)
- వీక్లీ డీప్ డైవ్: ఒక లోతైన వ్యాసం లేదా పరిశోధనా పత్రం
- నెలవారీ ప్రాజెక్టులు: కొత్త సాంకేతికతలతో వ్యక్తిగత ప్రాజెక్టులు
- కాన్ఫరెన్స్ హాజరు: వర్చువల్ కాన్ఫరెన్స్ లు మరియు మీటప్ లు
- కమ్యూనిటీ ఎంగేజ్మెంట్: ఓపెన్ సోర్స్ రచనలు మరియు స్టాక్ ఓవర్ ఫ్లో
ఇటీవల, నేను కమాండ్-లైన్ సాధనాన్ని నిర్మించడం ద్వారా రస్ట్ నేర్చుకున్నాను, రియాక్ట్ నేటివ్ లైబ్రరీకి సహకరించాను మరియు మైక్రోసర్వీసెస్ నమూనాలపై మా కంపెనీ టెక్ టాక్ లో సమర్పించాను. ఇది నా నైపుణ్యాలను ప్రస్తుతంగా ఉంచుతుంది మరియు మా ప్రాజెక్టులకు కొత్త ఆలోచనలను తీసుకురావడానికి నాకు సహాయపడుతుంది. "
కీలక నైపుణ్యాలు: స్వీయ-నిర్దేశిత అభ్యసనం, కమ్యూనిటీ నిమగ్నత, నాలెడ్జ్ పంచుకోవడం
అధునాతన అంశాలు
డిస్ట్రిబ్యూటెడ్ సిస్టమ్స్
1. CAP సిద్ధాంతం మరియు దాని యొక్క చిక్కులను వివరించండి.
జవాబు:
"పంపిణీ చేయబడిన వ్యవస్థలో, మీరు మూడు లక్షణాలలో రెండింటికి మాత్రమే హామీ ఇవ్వగలరని CAP సిద్ధాంతం పేర్కొంది:
- స్థిరత్వం: అన్ని నోడ్ లు ఒకే డేటాను ఒకేసారి చూస్తాయి
- లభ్యత: నోడ్ వైఫల్యాలు ఉన్నప్పటికీ సిస్టమ్ పనిచేస్తుంది
- విభజన సహనం: నెట్ వర్క్ విభజనలు ఉన్నప్పటికీ సిస్టమ్ పని చేస్తూనే ఉంది
ఆచరణలో, విభజన సహనం పంపిణీ వ్యవస్థల కోసం చర్చించబడదు, కాబట్టి మీరు స్థిరత్వం (HBase వంటి CP వ్యవస్థలు) లేదా లభ్యత (డైనమోడిబి వంటి AP వ్యవస్థలు) మధ్య ఎంచుకుంటారు. చాలా ఆధునిక వ్యవస్థలు ఈ మూడింటినీ సమతుల్యం చేయడానికి చివరికి స్థిరత్వాన్ని అందిస్తాయి. "
కీలక భావనలు: స్థిరత్వం మోడల్స్, ట్రేడ్-ఆఫ్స్, సిస్టమ్ డిజైన్
డేటాబేస్ డిజైన్
2. సోషల్ మీడియా ఫ్లాట్ ఫారం కొరకు డేటాబేస్ స్కీమాను మీరు ఏవిధంగా డిజైన్ చేస్తారు?
జవాబు:
"సోషల్ మీడియా ప్లాట్ ఫామ్ కోసం, నేను పరిశీలిస్తాను:
వినియోగదారుల పట్టిక: userid (PK), వినియోగదారు పేరు, ఇమెయిల్, passwordhash, createdat
పోస్టుల పట్టిక: postid (PK), userid (FK), కంటెంట్, createdat, updatedat
వ్యాఖ్యల పట్టిక: commentid (PK), postid (FK), userid (FK), కంటెంట్, createdat
ఇష్టాలు పట్టిక: likeid (PK), userid (FK), postid (FK), createdat (అనేక-నుండి-చాలా)
పట్టికను అనుసరిస్తుంది: followerid (FK), followingid (FK), createdat (అనేక-నుండి-చాలా)
డిజైన్ నిర్ణయాలు:
- స్కేలబిలిటీ కోసం యుయుఐడిలను ఉపయోగించండి
- సమ్మతి కోసం సాఫ్ట్ డిలీట్లను అమలు చేయండి
- తరచుగా ప్రశ్నించే కాలమ్ లపై సూచికలను జోడించండి
- పెద్ద పట్టికల కోసం విభజనను పరిగణించండి
- స్కేలబిలిటీ కోసం రీడ్ రెప్లికాలను ఉపయోగించండి"
కీలక భావనలు: నార్మలైజేషన్, ఇండెక్సింగ్, స్కేలబిలిటీ, సంబంధాలు
భద్రతా పరిగణనలు
3. సాఫ్ట్ వేర్ డిజైన్ లో మీరు భద్రతను ఎలా అప్రోచ్ అవుతారు?
జవాబు:
"భద్రతను మొదటి నుండి రూపొందించాలి, తరువాత జోడించకూడదు:
ప్రామాణీకరణ & అధికారం:
- సరైన గడువు ముగిసిన JWT టోకెన్లు
- రోల్-బేస్డ్ యాక్సెస్ కంట్రోల్ (RBAC)
- బహుళ-కారకం ప్రామాణీకరణ
డేటా రక్షణ:
- విశ్రాంతి మరియు రవాణాలో సున్నితమైన డేటాను ఎన్క్రిప్ట్ చేయండి
ఇన్పుట్ ధ్ర