Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?

David Goggins là một vận động viên Ultramarathon, một diễn giả công cộng, một con dấu hải quân đã nghỉ hưu và là tác giả của cuốn sách 'Không thể làm tổn thương tôi: Nắm vững tâm trí của bạn và thách thức các tỷ lệ cược'. Anh ấy là một trong những hình mẫu của tôi vì sức mạnh thể chất và khả năng phục hồi tinh thần của anh ấy.Can't Hurt Me: Master Your Mind and Defy the Odds'. He's one of my role models because of his physical strength and mental resilience.

Bạn có thể nói: "Đợi một chút! Chúng tôi hiểu nó. Người này rõ ràng là mẫu mực của thành công. Nhưng anh ấy có các kỹ năng phi kỹ thuật. Vậy tại sao anh ấy lại liên quan đến các cuộc phỏng vấn mã hóa JavaScript?"

Chà, nếu bạn đã sẵn sàng, hãy cùng nhau khám phá điều này.

Rocky Balboa làm cố vấn

Đáp lại câu hỏi, David nói, 'Bộ phim Rocky đã thay đổi cuộc đời tôi. " Vòng đấm bốc cuối cùng - từ chối từ bỏ bất kể điều gì.

David mô tả khoảnh khắc đặc biệt đó là thời điểm Rocky - ban đầu được mô tả là một kẻ yếu của nhà biên kịch - vượt qua tất cả các tỷ lệ cược và đình công trong đối thủ của mình.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Nguồn minh họa

Hãy thừa nhận nó. Trở thành một lập trình viên giỏi là không dễ dàng. Và đặc biệt nếu bạn đang ở đầu sự nghiệp, các cuộc phỏng vấn công việc kỹ thuật có thể gây khó khăn nghiêm trọng. Nói tóm lại, có thể thật tuyệt khi đạt được suy nghĩ của David (và Rocky).

Với loại động lực và sự tự tin đó, bạn ít có khả năng xem xét việc từ bỏ bất kể loại thách thức nào bạn gặp phải trong hành trình tuyệt vời nhưng khó khăn để có được một công việc phát triển.

Tại sao các cuộc phỏng vấn mã hóa lại khó khăn

Trong các cuộc phỏng vấn mã hóa, bạn dự kiến ​​sẽ khắc phục các vấn đề mã hóa với một số kiến ​​thức lý thuyết. Nhưng cảnh báo là bạn phải làm điều đó trong thời gian thực, đôi khi làm các nhà phát triển mới sợ hãi.

Có một số loại phỏng vấn mã hóa. Nhưng một thử thách nhất có lẽ là một cuộc phỏng vấn bảng trắng. Trong các loại phỏng vấn này, bạn phải viết mã trước một nhà tuyển dụng trong tương lai / một nhà phát triển phần mềm cao cấp.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Minh họa của Hackerrank

Những cuộc phỏng vấn này có thể gây căng thẳng hơn vì bạn thường không được phép có máy tính để google bất kỳ khái niệm chưa biết nào hoặc nhận được một số đoạn mã từ internet. Bạn chỉ được đưa ra một điểm đánh dấu để giải quyết câu hỏi trên bảng trắng như tên cho thấy.

Các cuộc phỏng vấn có phản ánh những gì bạn sẽ làm trong công việc của mình không?

Không cần thiết. Vậy tại sao họ lại tổ chức các cuộc phỏng vấn mã hóa đáng sợ này? Vâng, lý do là để kiểm tra kỹ năng giải quyết vấn đề của bạn nói chung. Đôi khi, tìm câu trả lời đúng thậm chí có thể không quan trọng như vậy.

Điều quan trọng là cách bạn đạt được kết luận / giải pháp đó và thuật toán nào bạn thích sử dụng trên đường đi. Nói cách khác, khả năng hoạt động tốt của bạn đang bị căng thẳng đang được các công ty công nghệ kiểm tra.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Nguồn hình ảnh

Hãy đối mặt với nó. Bạn sẽ bắt gặp rất nhiều tình huống căng thẳng trong công việc tương lai của bạn và cách bạn giải quyết các vấn đề nhất định là đặc biệt quan trọng. Do đó, chủ nhân tương lai của bạn tự nhiên muốn chứng kiến ​​trước khi bạn có phù hợp với công việc hay không.

Mục đích của hướng dẫn này là gì?

Trong bài đăng này, tôi sẽ hướng dẫn bạn qua một số khái niệm phỏng vấn JavaScript phổ biến thông qua các ví dụ. Tôi cũng sẽ làm hết sức mình để cho bạn thấy những người tuyển dụng / người phỏng vấn thực sự có thể đang tìm kiếm trong một ứng cử viên trong khi họ viết mã trước mặt họ.

Nói một cách đơn giản, chúng tôi sẽ kiểm tra một số mô hình và cố gắng giải các câu đố liên quan cùng nhau.

Đến cuối hướng dẫn này, hy vọng bạn sẽ có ý tưởng về một số phương pháp mảng quan trọng. Nhưng quan trọng nhất, bạn sẽ mở khóa cách tiếp cận một số thử thách mã hóa theo cách tốt nhất có thể.

Chính xác thì phương pháp cung điện bộ nhớ là gì?

Trước khi chúng tôi bắt đầu, chỉ cần lưu ý rằng trong dữ liệu mẫu bên dưới, tôi đã sử dụng một số tên người nổi tiếng muộn một cách có chủ ý để tất cả những chi tiết đó có thể hấp dẫn về lâu dài.

Một kỹ thuật cổ xưa được gọi là Cung điện bộ nhớ nói rõ rằng những chi tiết kỳ lạ, càng dễ nhớ chúng-và một câu chuyện / bối cảnh tạo ra sản xuất thậm chí còn hiệu quả hơn.

Nếu bạn cố gắng hình dung tình huống liên quan một cách sống động và liên kết các khái niệm lập trình đã cho với một số chi tiết kỳ quái trong tâm trí, bạn có thể cảm thấy ít căng thẳng và bối rối hơn khi bạn thấy một vấn đề tương tự vào lần tới. Điều này là do bạn có thể dễ dàng tạo ra các liên kết cụ thể và như vậy hãy nhớ những điều một cách dễ dàng. Đây là cách bộ não của chúng ta hoạt động.

Chà, ngay cả nhân vật hư cấu 'Sherlock Holmes', anh chàng thông minh nhất hành tinh, được hưởng lợi từ phương pháp này khi giải quyết các tội ác phức tạp - vậy tại sao chúng ta không nên?

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Minh họa bởi Savanahcat

Cách tiếp cận các vấn đề mã hóa

Trong cuộc phỏng vấn tưởng tượng của chúng tôi, bạn sẽ thấy rằng bốn nhạc sĩ phi thường từ quá khứ được liệt kê là hành khách trên một chuyến bay. Chúng tôi có các lựa chọn thực phẩm của họ và số lượng các chuyến bay kết nối họ cần để thực hiện sau những màn trình diễn đáng kinh ngạc của họ trên sân khấu ở các khu vực khác nhau trên thế giới.

Nói chỉ vì lý lẽ của những nhân vật phi thường của chúng tôi (Freddie Mercury, Amy Winehouse, Kurt Cobain và Michael Jackson) sắp bay từ những điểm đến khác nhau đến Los Angeles để có thể ăn tối cùng nhau tại một nhà hàng hào nhoáng, vì họ Tận hưởng công ty của nhau rất nhiều.

Rốt cuộc, đây là Cung điện bộ nhớ riêng của chúng tôi, vì vậy chúng tôi hoàn toàn có thể làm bất cứ điều gì chúng tôi muốn làm trong tâm trí của chúng tôi. Hãy nhớ các chi tiết bất thường sẽ dính tốt hơn. Đó là lý do tại sao tôi đang cố gắng thêm nhiều hơn vào gia vị.

Phương pháp này gợi ý rõ ràng mô tả từng chi tiết với một số tính từ sống động để bạn có thể liên kết chúng với những điều bạn dự định học trong thời gian dài.

Các nhà khoa học cho biết bộ nhớ ngắn hạn và chức năng bộ nhớ dài hạn rất khác nhau. Nói một cách đơn giản, chúng ta cần một cách để đặt tất cả các khái niệm cốt lõi đó (không nhất thiết là cú pháp) về lập trình trong bộ nhớ dài hạn của chúng ta. Đó là lý do tại sao nó có thể tốt đẹp để được hưởng lợi từ phương pháp Cung điện bộ nhớ trong hành trình của chúng tôi.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Nguồn hình ảnh

Thêm vào đó, tôi cảm thấy như bạn có thể hình dung ra kịch bản khác thường này với một nụ cười trên khuôn mặt của bạn. Chà, sẽ không tuyệt vời nếu những linh hồn tuyệt vời này có thể thấy rằng họ hiện đang giúp chúng tôi / cộng đồng lập trình với tư cách là khách mời của một bài báo Freecodecamp?

Câu hỏi phỏng vấn mẫu

Hãy trở lại với cuộc sống thực bây giờ. Hãy nhớ rằng bạn vẫn còn trong cuộc phỏng vấn và như bạn thấy dưới đây, ba câu hỏi liên tiếp đang chờ bạn.


// Main Question: Get the passengers' names using the data provided 
// Bonus Part (a)- Return vegetarians/vegans
// Bonus Part (b)- Sort passengers by the number of connected flights in descending order

Dữ liệu

Để giải các câu đố, bạn dự kiến ​​sẽ sử dụng dữ liệu bên trong mảng các đối tượng sau đây theo cách thực tế.

Chắc chắn bạn sẽ cần phải đưa ra các thuật toán phù hợp và cố gắng tìm giải pháp hiệu quả nhất có thể làm hài lòng người phỏng vấn.


const passengers = [
  {
    id: 1,
    passengerName: "Freddie Mercury",
    isVegetarianOrVegan: false,
    connectedFlights: 2,
  },
  {
    id: 2,
    passengerName: "Amy Winehouse",
    isVegetarianOrVegan: true,
    connectedFlights: 4,
  },
    {
    id: 3,
    passengerName: "Kurt Cobain",
    isVegetarianOrVegan: true,
    connectedFlights: 3,
  },
     {
    id: 3,
    passengerName: "Michael Jackson",
    isVegetarianOrVegan: true,
    connectedFlights: 1,
  },
];

Các câu hỏi trên thực tế không khó. Nhưng, cách chúng tôi xử lý chúng là một cơ hội tuyệt vời để so sánh các giải pháp thay thế cho một vấn đề duy nhất. Vào cuối ngày, chất lượng là những gì được tính cho người tuyển dụng / người phỏng vấn.

Câu hỏi phỏng vấn 1: Làm thế nào để có được tên của hành khách

Hãy lấy tên của hành khách theo yêu cầu. Giải pháp đầu tiên là thông qua phương pháp 'cho vòng lặp'. Vì vậy, trước tiên chúng ta cần sử dụng một mảng trống để đẩy tên của hành khách ngay bên trong nó ở cuối vòng lặp.

Dưới đây,


const passengers = [
  {
    id: 1,
    passengerName: "Freddie Mercury",
    isVegetarianOrVegan: false,
    connectedFlights: 2,
  },
  {
    id: 2,
    passengerName: "Amy Winehouse",
    isVegetarianOrVegan: true,
    connectedFlights: 4,
  },
    {
    id: 3,
    passengerName: "Kurt Cobain",
    isVegetarianOrVegan: true,
    connectedFlights: 3,
  },
     {
    id: 3,
    passengerName: "Michael Jackson",
    isVegetarianOrVegan: true,
    connectedFlights: 1,
  },
];
0 đại diện cho hành khách hiện tại và chúng tôi chỉ cần lặp qua mảng 'hành khách' để truy cập tên của hành khách. Sau đó, chúng ta cần khóa chúng trong mảng / vật dụng trống của chúng ta.


const passengerNames = [];
for (let i = 0; i < passengers.length; i++) {
    passengerNames.push(passengers[i].passengerName)
}
console.log("passengers", passengerNames);
Result - Sử dụng 'cho vòng lặp'
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT - using 'for loop'

Được rồi, chúng tôi đã giải câu đố, nhưng nó có đủ không? Hoặc những người phỏng vấn có thể mong đợi bạn đưa ra một giải pháp tốt hơn?

Giải pháp thay thế #1:

Chúng ta cũng có thể đạt được kết quả mong muốn bằng cách sử dụng chức năng 'foreach'. Giải pháp này thậm chí còn tốt hơn một chút so với trước đây vì không có biểu thức chỉ số trong này.

                 
const passengerNames = [];
passengers.forEach((passenger) => {
    passengerNames.push(passenger.passengerName);
})
Result - Sử dụng 'foreach'
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT - using 'forEach'

Để được hưởng lợi từ 'foreach', chúng tôi cần một chức năng gọi lại. Với sự sắp xếp này, chúng tôi có thể tiếp cận mọi hành khách trong danh sách. Tuy nhiên, giống như trong giải pháp trước, trước tiên chúng ta cần một mảng trống để đẩy tên các vật phẩm / hành khách.

Mặc dù kết quả là như nhau, đoạn mã này ngắn hơn. Viết mã gọn gàng là những gì là - trên thực tế - được mong đợi từ bạn.

Nói cách khác, không chỉ các vấn đề giải pháp, mà cả cách bạn đạt được nó đang được các nhà tuyển dụng đánh giá. Vì lý do này, bạn nên lên kế hoạch cho hành động của bạn hơn là viết ý tưởng đầu tiên trong tâm trí bạn trên bảng trắng.

Giải pháp thay thế 2:

Đây là giải pháp tốt nhất. Chúng tôi cũng có thể sử dụng chức năng 'bản đồ' để giải quyết vấn đề tương tự. Hãy xem làm thế nào.


const passengerNames = passengers.map((passenger) => passenger.passengerName); 
Result - Sử dụng 'Bản đồ'
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT - using 'map'

Chức năng bản đồ cũng lặp qua mảng và trả về một mảng mới cho mọi mục trong danh sách. Với thiết lập này, chúng tôi chỉ cần trả về một phần tử duy nhất, không phải là một đối tượng.

Kết quả sẽ lại giống nhau trong bảng điều khiển, nhưng mã của bạn thậm chí sẽ tốt hơn mã thứ nhất và thứ hai vì lần này, chúng tôi không cần tạo một mảng trống trước nhiệm vụ thực tế.

Đây là thực phẩm cho suy nghĩ về chủ đề này. Những người nói 'ít hơn là nhiều hơn' có một điểm khi viết mã.

Câu hỏi phỏng vấn 2: Làm thế nào để có được ca sĩ ăn chay/thuần chay

Bây giờ chúng ta hãy xem thử thách tiếp theo. Nhiệm vụ mới yêu cầu chúng tôi chỉ có được các ca sĩ ăn chay / thuần chay trong danh sách của hành khách bằng cách giữ cho cuộc tranh luận đầu tiên trong phần câu hỏi chính.

Cách giải quyết với một 'cho vòng lặp'

Một lần nữa, chúng ta cũng có thể sử dụng cùng một 'vòng lặp' cũ cho cái này. Tất cả những gì chúng ta cần làm là kiểm tra xem có bất kỳ ca sĩ ăn chay / thuần chay nào trong danh sách hành khách của chúng tôi thông qua tuyên bố 'nếu' bên trong chức năng hiện tại của chúng tôi.


const passengerNames = [];
for (let i = 0; i < passengers.length; i++) {
    if(passengers[i].isVegetarianOrVegan) {
    passengerNames.push(passengers[i].passengerName)
    }
}
console.log(passengerNames);
Result - Sử dụng 'cho vòng lặp'
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT - using 'for loop'

Chúng tôi làm điều đó với thuộc tính


const passengers = [
  {
    id: 1,
    passengerName: "Freddie Mercury",
    isVegetarianOrVegan: false,
    connectedFlights: 2,
  },
  {
    id: 2,
    passengerName: "Amy Winehouse",
    isVegetarianOrVegan: true,
    connectedFlights: 4,
  },
    {
    id: 3,
    passengerName: "Kurt Cobain",
    isVegetarianOrVegan: true,
    connectedFlights: 3,
  },
     {
    id: 3,
    passengerName: "Michael Jackson",
    isVegetarianOrVegan: true,
    connectedFlights: 1,
  },
];
1 trong đối tượng của chúng tôi. Về cơ bản, những gì chúng ta nói là thế này: nếu tuyên bố có liên quan là đúng (nếu có bất kỳ hành khách thuần chay / ăn chay nào trong danh sách), chỉ cần đẩy các vật phẩm đó vào mảng mới của chúng tôi. Kết quả sẽ cung cấp cho chúng tôi ba tên ca sĩ vì những người được liệt kê là & nbsp; 'ăn chay hoặc thuần chay' trong phần dữ liệu.

Cách giải quyết với 'foreach'

Như một vấn đề thực tế, chức năng 'foreach' xử lý vấn đề tương tự. Nhưng một lần nữa, nó có quá nhiều dòng mã như bạn thấy bên dưới, vì vậy nó không phải là phiên bản lý tưởng.


const passengerNames = [];
passengers.forEach((passenger) => {
      if (passenger.isVegetarianOrVegan)
        passengerNames.push(passenger.passengerName);
});

console.log(passengerNames);
Kết quả / 'foreach'
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT / 'forEach'

Cách giải quyết với 'bộ lọc' & 'bản đồ'

Để đưa ra tùy chọn tốt nhất, lần này, chúng tôi sẽ sử dụng hai phương pháp khác nhau. Các chức năng 'bộ lọc' và 'bản đồ' sẽ - theo một cách nào đó - hợp tác để tạo logic tốt hơn khi giải quyết vấn đề đã cho. Hãy xem xét các đoạn mã sau ngay bây giờ.


const passengerNames = passengers.filter((passenger) => passenger.isVegetarianOrVegan).map((passenger) => passenger.passengerName);

console.log(passengerNames);
Result / 'Filter' + 'Map'
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT / 'filter' + 'map'

Với phương pháp lọc, chúng tôi chỉ nhận được hành khách ăn chay / thuần chay từ mảng của chúng tôi ngay từ đầu. Nếu nó tìm thấy một số hành khách không ăn chay / thuần chay (như 'Freddie' yêu dấu của chúng tôi), nó sẽ tự động thoát khỏi họ.

Tóm lại, phần đầu tiên của phương trình, phương thức 'bộ lọc' sẽ đơn giản hoạt động thông qua mô hình 'có' hoặc 'không'.

Sau đó, chức năng 'bản đồ' sẽ xuất hiện, cuối cùng cung cấp cho chúng tôi một mảng hoàn toàn mới chỉ hiển thị hành khách ăn chay / thuần chay.

Giải pháp cuối cùng này sẽ chứng minh nhà tuyển dụng tương lai của bạn rằng bạn thực sự biết những gì bạn đang làm và bạn thực sự đang thực hiện các bước đúng để trở thành một nhà phát triển Hotshot.

Câu hỏi phỏng vấn #3: Cách sắp xếp hành khách bằng cách kết nối các chuyến bay

Phần cuối cùng yêu cầu chúng tôi sắp xếp danh sách các hành khách siêu tuyệt vời của chúng tôi theo số lượng các chuyến bay kết nối mà họ sẽ thực hiện để cuối cùng đến LA. Hãy xem ai có nhiều hơn và như vậy, sẽ khá kiệt sức.

Cảnh báo spoiler! Amy với bốn chuyến bay kết nối trong tổng số có thể hơi buồn ngủ trong cuộc gặp gỡ tại nhà hàng ưa thích đó. Nhưng không có nghi ngờ rằng cô ấy sẽ bằng cách nào đó rock bất cứ nơi nào cô ấy đi.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Nguồn hình ảnh

Dù sao, những gì chúng ta cần cho nhiệm vụ này là biết chức năng 'sắp xếp' hoạt động như thế nào.

Chủ yếu, nó so sánh từng mục một và kết quả là trả về một cái gì đó. Trong trường hợp của chúng tôi, nó sẽ là số lượng các chuyến bay được kết nối. Nhưng làm thế nào để nó làm cho sự so sánh đó? Logic đằng sau đó là gì?

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Mã nguồn: MDN

Các dòng mã trên là khá rõ ràng nói chung. Nhờ chức năng 'sắp xếp', chúng tôi liệt kê những tháng theo thứ tự bảng chữ cái.

Vâng, đây là câu hỏi lớn. Làm thế nào để mã / hệ thống biết rằng 'A' là chữ cái đầu tiên của bảng chữ cái và như vậy, danh sách bắt đầu bằng chữ 'd' (tháng 12)?

Lý do là 'hàm sắp xếp' liệt kê mọi thứ theo thứ tự tăng dần theo mặc định. Nhưng chúng ta không thể thay đổi cài đặt này? Có lẽ, chúng ta cần liệt kê các mục theo thứ tự giảm dần. Tất nhiên, chúng tôi có thể.

Hãy xem làm thế nào. Để đạt được những gì chúng tôi muốn, chúng tôi có thể sử dụng các chữ cái 'A' và 'B' làm tham số dẫn đến các hướng khác nhau.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Mã nguồn: MDN

Đồng thời, chúng ta có thể hưởng lợi từ sự hỗ trợ của ba số: -1,+1, 0 như đã thấy ở trên. Khi sắp xếp các mục theo thứ tự giảm dần hoặc tăng dần hoặc tìm các giá trị bằng nhau, chúng có thể khá tiện dụng.

Một chút khó khăn của hàm 'sắp xếp'

Trong ví dụ sau, danh sách được sắp xếp theo thứ tự tăng dần. Tại sao nó lại như vậy? Đây là lý do. Khi chúng tôi trả về các tham số 'A' và 'B' đó, chúng tôi sử dụng thứ tự này: & nbsp; 'a - b'. Điều đó cho chúng ta các giá trị tăng dần theo mặc định.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Mã nguồn: MDN

Tuy nhiên, nếu chúng ta trao đổi chúng và nói 'B - A', danh sách sẽ được nhìn thấy theo thứ tự giảm dần lần này. Đó là một chút khó khăn khi nói đến chức năng 'sắp xếp'.

Trong ví dụ trên, phiên bản đầu tiên (hàm chính quy) và phiên bản thứ hai (hàm mũi tên) về bản chất là như nhau, nhưng chỉ cần lưu ý rằng các hàm mũi tên đi kèm với ES6.

Mặc dù các chức năng mũi tên giúp các nhà phát triển viết ít mã hơn, bạn không thể sử dụng chúng ở mọi nơi. (Đọc này để tìm hiểu khi nào nên sử dụng chúng.)

Kiểm tra kiến ​​thức mới của chúng tôi

Bây giờ chúng ta sẽ phân tích tình hình của hành khách của chúng ta thông qua quan điểm mới của chúng ta? Chúng tôi biết rằng nhiệm vụ cuối cùng yêu cầu chúng tôi sắp xếp số lượng chuyến bay theo thứ tự giảm dần. Nhưng thiết lập sau đây làm ngược lại.

Nó chỉ có thể cung cấp cho chúng tôi danh sách theo thứ tự tăng dần. Tại sao? Nó chỉ đơn giản là do thứ tự được xác định trước (pascetenger1.connectedflight - pastenger2.connectedflight) như trong trường hợp của ví dụ a - b.


 const numberOfFlights = passengers.sort(
  (passenger1, passenger2) =>
    passenger1.connectedFlights -  passenger2.connectedFlights 
); 
console.log(numberOfFlights);
Sort - Lệnh tăng dần

Khi chúng tôi trao đổi thứ tự (Pascetenger2.connectedflight - pascetenger1.connectedflight) Như bạn thấy trong đoạn mã sau, vấn đề của chúng tôi sẽ được giải quyết và danh sách sẽ theo thứ tự giảm dần.


 const numberOfFlights = passengers.sort(
  (passenger1, passenger2) =>
    passenger2.connectedFlights -  passenger1.connectedFlights 
); 
console.log(numberOfFlights);
Sort - Lệnh giảm dần - Thứ tự giảm dần theo số lượng chuyến bay được kết nối / Michael là may mắn nhất :-)
Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
RESULT - Descending Order by the Number of Connected Flights / Michael is the luckiest :-)

Chúng ta cũng có thể sử dụng 'cho vòng lặp' hoặc 'foreach'?

Vâng, có và không. Cả hai sẽ là giải pháp cấp thấp cho câu hỏi này.

Chúng ta nên nhớ rằng hàm sắp xếp làm biến đổi một mảng. Đây là một loại tác dụng phụ thay đổi mảng ban đầu và đó có thể là một vấn đề nếu chúng ta sử dụng 'cho vòng lặp' hoặc 'foreach' như một giải pháp.

Tất nhiên có nhiều cách để tránh đột biến trong hàm sắp xếp, nhưng trong ví dụ của chúng tôi, nó sẽ dẫn đến nhiều dòng mã hơn, điều này không thực tế chút nào.

Gói lên

Chúng tôi đã bắt đầu bài viết với David Goggins, biểu tượng của khả năng phục hồi và grit, vì vậy hãy kết thúc nó với sự hiện diện và ý tưởng đầy cảm hứng của anh ấy.

Nếu bạn tình cờ đọc cuốn sách anh hùng hiện đại này hoặc nghe một trong những tập podcast nổi tiếng đó (ví dụ: cuốn này) nơi anh ta là một diễn giả khách mời, bạn sẽ ngay lập tức hiểu rằng anh ta không được sinh ra theo cách đó. Thay vào đó, bí mật của anh ta nằm ở chỗ anh ta không bao giờ bỏ cuộc, chống lại tất cả các tỷ lệ cược.

Các cuộc phỏng vấn mã hóa là khó khăn, nhưng nếu bạn tiếp tục theo đuổi mục tiêu của mình bằng cách hình dung cảnh thành công trong tâm trí của bạn nhiều lần, thì nó sẽ - & nbsp; sớm hay muộn - hãy là của bạn.

Hướng dẫn how do you beat the 5 common interview challenges in javascript? - làm thế nào để bạn vượt qua 5 thử thách phỏng vấn phổ biến trong javascript?
Nguồn hình ảnh

Rất cám ơn đã đọc bài viết này. Nếu bạn thích bài viết này, một trong những cách tốt nhất để hỗ trợ tôi là chia sẻ nó. Nếu bạn có bất kỳ câu hỏi hoặc nhận xét, bạn luôn có thể liên hệ với tôi qua LinkedIn. Tôi sẽ rất vui khi được giúp bạn với các truy vấn của bạn.

Mã hóa hạnh phúc!

"Kiên thức là sức mạnh." - Francis Bacon



Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để vượt qua tất cả các cuộc phỏng vấn mã hóa?

Dưới đây là một số sai lầm phổ biến mà chúng ta thường mắc phải trong cuộc phỏng vấn mã hóa ...
Đừng bao giờ làm rõ câu hỏi đầu tiên: ....
Bắt đầu mã hóa ngay lập tức! ....
Không bao giờ phân tích sự phức tạp về thời gian và không gian. ....
Không bao giờ xem lại mã của bạn với các trường hợp kiểm tra của riêng bạn: ....
Sợ yêu cầu giúp đỡ. ....
Cảm thấy khủng khiếp khi quên một cú pháp ..

Làm thế nào để bạn chuẩn bị cho một thử thách phỏng vấn mã hóa?

Làm thế nào để chuẩn bị tốt nhất cho một cuộc phỏng vấn mã hóa ?..
Chọn một ngôn ngữ lập trình tốt để sử dụng ..
Lập kế hoạch thời gian và giải quyết các chủ đề và câu hỏi của bạn theo thứ tự quan trọng ..
Kết hợp học tập và thực hành cho một chủ đề duy nhất ..
Đi kèm với thực hành với các bảng gian lận phỏng vấn mã hóa để nội tâm hóa những người phải-dos và phải tự gửi ..

Các câu hỏi mã hóa JavaScript được hỏi trong cuộc phỏng vấn là gì?

Hơn 25 câu hỏi phỏng vấn mã hóa JavaScript (được giải quyết bằng mã)..
Câu 1: Giải thích chức năng gọi lại là gì và cung cấp một ví dụ đơn giản.....
Câu 2: Cho một chuỗi, đảo ngược mỗi từ trong câu.....
Câu 3: Làm thế nào để kiểm tra xem một đối tượng có phải là một mảng hay không?....
Q4: Làm thế nào để làm trống một mảng trong JavaScript?....
Câu 5: ....
Q7: ....
Q8: ....

Một cuộc phỏng vấn thử thách mã hóa là gì?

"Thử thách mã hóa" là một bài tập lập trình kiểm tra khả năng của các kỹ sư phần mềm.Bởi vì mã hóa là một kỹ năng bắt buộc đối với nhà phát triển phần mềm, nên việc kiểm tra xem các ứng viên có thể mã hóa hiệu quả hay không.Nó về cơ bản là giai đoạn đầu tiên trước một cuộc phỏng vấn kỹ thuật.a programming assignment that tests the abilities of software engineers. Because coding is a must-have skill for a software developer, it is critical to test whether candidates can code effectively. It is basically the first phase before a technical interview.