5 JavaScript typica opera colloquii: analysis et solutiones

5 JavaScript typica opera colloquii: analysis et solutiones

Ex interpres: articulus editis est tibi Maria Antonietta Perna, quae de JavaScript munia communi loquitursaepissime oblatum est in colloquiis petitores elit. Articulus utilis erit imprimis programmatoribus novitiis.

Colloquia in societatibus technicis iam diu oppidi disputatio fuit. Hoc mirum non debet - colloquium feliciter transiens occasionem bonam obtinendi dat tibi. Sed hoc non est tam simplex, cum problemata multiplicia saepe solvi oporteat.

Saepius autem haec negotia maxime pertinent ad opus quod petentem faciet, sed solvendum adhuc est. Aliquando in tabula facere debes, sine Google vel alio fonte iniecta. Ita res paulatim mutantur, et nonnullae societates tales colloquia deserunt, sed multi laboris locatores adhuc huic traditioni adhaerent. Hic articulus est in analysi JavaScript munerum typicarum, qui saepe pro penso ad officium petentium adhibentur.

admonemus; omnibus legentibus "Habr" - discount 10 rublorum cum scribendo in quavis Skillbox utens "Habr" codice promotivo.

Skillbox commendat: Cursus practicus "Mobile Developer PRO".

Summa est ad colloquium tuum praepara.

Etiam, antequam inspicere incipimus officia, inspiciamus aliquod colloquium generale apicibus praeparationis.

Summa est praeparare in antecessum. Proba quam bene algorithmarum et notitiarum structurarum memineris, et scientiam tuam in locis emendare quae tibi non nimis nota sunt. Multa sunt suggesta online quae colloquiis para te iuvare possunt. monemus geeksforgeeks, Pramp, Interviewing.io и CodeSignal.

Discere bene est dicere sententiam magna. Petitores de re quae agis narrare visum est, et non modo scribe in tabula (vel codicem typus in computatorium, etiam tacite). Hoc modo, si erras in codice, sed solutio plerumque recta est, casus successus augere potes.

Priusquam problema solvere incipias, debes intelligere. In quibusdam, negotium summatim intelligas et tunc perversas descendas. Sit operae pretium quaerere paucis quaestiones declarantes ad Interviewer.

Codicem manu scripto exercere debes, non PC. Contingit ut in colloquiis petentem detur titulum et tabulae albae, ubi nullae sunt ambages aut forma latae sententiae. Cum solutionem quaeris, pretium est codicem tuum scribere in charta vel directe in tabula. Si omnia in capite teneas, aliquid momenti oblivisci possis.

Formula opera in JavaScript

Horum operum nonnulla fortasse iam tibi nota sunt. Aut colloquia habuisti ubi simile aliquid solvendum habuisti, aut in illis exercita es cum JavaScript discendo. Bene, nunc tempus est eas iterum solvere et cum accurata explicatione processus.

Palindrome

Palindromus est verbum, sententia vel series notarum quae tam in usitate quam in opposito legitur idem prorsus. sicut Anna palindromus, mensa autem et Ioannes non sunt.

productio

chorda detur; opus est tibi munus scribere, quod verum si palindromum chorda est, et falsum si non sinat reddere tibi. In hoc casu, spatia et puncta interpunctionis rationem habere debes.

palindrome (racecar') === true
palindrome (mensa') === falsus

Sit scriptor negotium resolvere

Praecipua notio hic est ut chorda convertatur. Si chorda "versa" cum originali prorsus identica est, tum palindromum accepimus et munus verum reddere debet. si minus, falsum.

arbitrium

Hic est codex qui palindromam solvit.

const palindrome = str => {
  // turn the string to lowercase
  str = str.toLowerCase()
  // reverse input string and return the result of the
  // comparisong
  return str === str.split('').reverse().join('')
}

Primus gradus est characteres in linea initus ad lowercase convertere. Haec cautio est ut programmata ipsa ingenia conferat, et non casus, nec aliquid aliud.

Secundus gradus est ad lineam convertendam. Hoc non difficile est facere: necesse est eam in aciem .split() converti utentem (Bibliothecam String). Tunc ordinatis utentes reverse () (Array library). Ultimus gradus est conversos ordinatas ad chordas converti utens .join() (Array library).

Nunc omne quod debes facere est compara "reuerso" chorda cum chorda originali, eventum reddens verum vel falsum.

FizzBuzz

Una ex festis officiis in colloquiis.

productio

Debes scribere functionem quae imprimit numeros ab 1 ad n ad consolatorium, ubi n est integrum ut munus pro modulo sumit, cum sequentibus conditionibus:

  • output fizz instead of multiplex of 3;
  • stridore output loco numeri qui multiplices 5 sunt;
  • fizzbuzz output pro numerorum qui multiplices utriusque 3 et 5 sunt.

exempli gratia

Fizzbuzz(5)

exitum

// MMVIII
// MMVIII
// fizz
// MMVIII
//buzz

Sit scriptor negotium resolvere

Summa hic est via ad inveniendum multiplices JavaScript. Modulus operantis vel residuum - % utens perfici potest, quod sinit ut ostendas residuum cum duos numeros dividens. Si residuum est 0, significat quod primus numerus multiplex est secundi.

12% 5 // 2 -> 12 multiplex non est ex 5
12% 3 // 0 -> 12 multiplex est ex 3

Si ergo dividas 12 per 5 , habebis 2 cum reliquo 2 . Si dividas 12 per 3, cum reliquo 4. In primo casu habebis 0 , 12 non est multiplex in 5, in secundo. , 12 multiplex est III.

arbitrium

Optima solutio in codice sequenti esset:

const fizzBuzz = num => {
  for(let i = 1; i <= num; i++) {
    // check if the number is a multiple of 3 and 5
    if(i % 3 === 0 && i % 5 === 0) {
      console.log('fizzbuzz')
    } // check if the number is a multiple of 3
      else if(i % 3 === 0) {
      console.log('fizz')
    } // check if the number is a multiple of 5
      else if(i % 5 === 0) {
      console.log('buzz')
    } else {
      console.log(i)
    }
  }
}

Munus necessarios compescit utens constitutionibus condicionalibus et effectum ab utente requisitum producit. In problemate, attendendum est ad ordinem si... ceterarum enuntiationum: incipere a duplici condicione (&&) et fini cum casu ubi plures numeri inveniri non potuerunt. Quam ob rem omnia bene tegimus.

Anagramma

Hoc enim nomen est verbi, quod omnes literas alterius verbi eodem numero continet, sed alio ordine.

productio

Debemus scribere functionem quae impedit num duae chordae sint anagramma, et casus nihil refert. Tantum ingenia numerantur; spatia seu puncta non ratio.

anagramma ('inventum', 'amicum') —> verum
anagramma ('salve', 'vale') —> falsum

Sit scriptor negotium resolvere

Refert hic considerare quod necesse est singulas litteras in duabus lineis inputare et numerum in unaquaque linea reprimere.

inventor -> f: 1 friend —> f: 1
i: 1 r: 1
n: 1 i: 1
d: 1 e: 1
e: 1 n: 1
r: 1 d: 1

Ad anagramma data congregem, debes structuram eligere ut objectum litterale JavaScript. Clavis in hoc casu litterae indoles est, valor repetitionum in linea currenti numerus est.

Aliae conditiones sunt:

  • Opus fac ut literarum casus conferendi ratio non habeatur. Simpliciter chordas ad inferiorem vel superiorem causam convertimus.
  • Omnes notas non-ex comparatione excludimus. Optimus est opus cum expressions regularis.

arbitrium

// helper function that builds the
// object to store the data
const buildCharObject = str => {
  const charObj = {}
  for(let char of str.replace(/[^w]/g).toLowerCase()) {
    // if the object has already a key value pair
    // equal to the value being looped over,
    // increase the value by 1, otherwise add
    // the letter being looped over as key and 1 as its value
    charObj[char] = charObj[char] + 1 || 1
  }
  return charObj
}
 
// main function
const anagram = (strA, strB) => {
  // build the object that holds strA data
  const aCharObject = buildCharObject(strA)
  // build the object that holds strB data
  const bCharObject = buildCharObject(strB)
 
  // compare number of keys in the two objects
  // (anagrams must have the same number of letters)
  if(Object.keys(aCharObject).length !== Object.keys(bCharObject).length) {
    return false
  }
  // if both objects have the same number of keys
  // we can be sure that at least both strings
  // have the same number of characters
  // now we can compare the two objects to see if both
  // have the same letters in the same amount
  for(let char in aCharObject) {
    if(aCharObject[char] !== bCharObject[char]) {
      return false
    }
  }
  // if both the above checks succeed,
  // you have an anagram: return true
  return true
}

Attende ad usum Object.keys () apud Snippet supra. Haec methodus reddit ordinem ordinatum continens nomina vel claves eo ordine quo in obiecto apparent. In hoc casu talis erit ordo:

['f', 'i', 'n', 'd', 'e', ​​'r']

Et hoc modo accipimus proprietates obiecti sine mole ansa. In problemate, hac methodo uti potes cum longitudine proprietatis ad reprimendam an ambae chordae totidem notas habeant - hoc magni momenti notam anagrammatum habent.

Quaere vocales

Munus satis simplex quod saepe in colloquiis occurrit.

productio

Munus scribere debes quod chorda argumentum accipit et numerum vocalium quae in chorda continentur reddit.
Vocales sunt "a", "e", "i", "o", "u".

exempli gratia:

findVowels('hello') // —> 2
findVowels('cur') // —> 0

arbitrium

Hic optio simplicissima est:

const findVowels = str => {
  let count = 0
  const vowels = ['a', 'e', 'i', 'o', 'u']
  for(let char of str.toLowerCase()) {
    if(vowels.includes(char)) {
      count++
    }
  }
  return count
}

Magni interest attendere ad usum methodi .includes() . Utraque chordis et vestit praesto est. Adhibendum est determinare an ordo certum valorem contineat. Haec methodus vera redit si ordinata contineat valorem determinatum, et falsum si non.

Brevior problema est:

const findVowels = str => {
  const matched = str.match(/[aeiou]/gi)
  return matched ? matches.length : 0
}

Hoc utitur methodo .par(), quae te permittit ut investigationem efficientem efficiant. Si expressio regularis ut methodus argumenti intra chordam determinatam invenitur, tunc valor reditus numerus characterum congruentium est. Bene, si par nullae sunt, tunc .par() nullum redit.

fibonacci

Munus classicum quod in colloquiis variis in gradibus inveniri potest. Memorabile est sequentiam Fibonacci esse seriem numerorum in quibus unumquodque sequens est summa duorum priorum. Numeri decem primi hoc modo spectant: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34;

productio

Munus scribere debes, quod testimonium in quadam serie recurrit, cum n numerus qui argumento munere praemittitur.

fibonacci(3) // —> 2

Hoc negotium involvit ambulationem per ansam pluries in argumento descripto, reddens valorem ad convenientem statum. Hic modus ponendi quaestionem requirit usum ansarum. Si recursus potius uteris, Interviewer placere potest et pauca puncta extra te dare.

arbitrium

const fibonacci = num => {
  // store the Fibonacci sequence you're going
  // to generate inside an array and
  // initialize the array with the first two
  // numbers of the sequence
  const result = [0, 1]
 
  for(let i = 2; i <= num; i++) {
    // push the sum of the two numbers
    // preceding the position of i in the result array
    // at the end of the result array
    const prevNum1 = result[i - 1]
    const prevNum2 = result[i - 2]
    result.push(prevNum1 + prevNum2)
  }
  // return the last value in the result array
  return result[num]
}

Ordinate in eventibus, duo primi numeri in serie continentur, quia uterque introitus in ordine est summa duorum priorum numerorum. In ipso initio duo numeri non sunt qui sumi possunt ad numerum proximum acquirendum, unde fascias eos automatice generare non potest. Sed, ut novimus, primi duo numeri semper sunt 0 et I. Ergo initialize potes proventus manually.

Quod ad recursum attinet, simpliciora omnia simul et intricata sunt;

const fibonacci = num => {
  // if num is either 0 or 1 return num
  if(num < 2) {
    return num
  }
  // recursion here
  return fibonacci(num - 1) + fibonacci(num - 2)
}

Nos fibonaccos vocamus, numeros minores et minores obiter ut argumenta. Desinimus quando argumentum lata est 0 vel 1 .

conclusio,

Verisimile, si in frontend vel JavaScript officium elit elit (praesertim si in minore gradu est). Quod si non occurreris, in posterum usui esse possunt, saltem ad communem progressionem.

Skillbox commendat:

Source: www.habr.com

Add a comment