강의

멘토링

로드맵

Đánh giá 5

Đánh giá trung bình 5.0

Hoàn thành 30% khóa học

Có quá nhiều lỗi Vì ngay từ đầu có quá nhiều sai sót nên từ đó về sau chúng tôi phải kiểm chứng riêng xem nội dung bài giảng có đúng hay không. Đến mức tôi bối rối không biết mình đang nghe giảng hay đang kiểm tra lỗi. Đặc biệt, Array gây ấn tượng ở chỗ việc phân bổ bộ nhớ diễn ra trong giai đoạn biên dịch. Một điểm thú vị nữa là nó được phân bổ vào vùng nhớ ngăn xếp. Chúng tôi xin bày tỏ lời chia buồn sâu sắc nhất tới nhiều sinh viên đã lắng nghe bài giảng này và mỉm cười thật tươi với người phỏng vấn. Tôi đang để lại đánh giá với hy vọng sẽ không phát sinh thêm nạn nhân nào như tôi. phép cộng. Trong phần bình luận, người hướng dẫn đã để lại những điều sau đây. Chúng tôi xin thông báo với bạn rằng nội dung của quan niệm này cũng không chính xác. https://midi-mandolin-36f.notion.site/Array-33d866e5193f49789dd2079c75412f96?pvs=4 "Ngôn ngữ C" Trong "Mảng tĩnh" có thể được lưu trữ trong bất kỳ vùng dữ liệu nào (Stack, Data, Heap) của quy trình và nó phụ thuộc vào mục đích phát triển (mã) của nhà phát triển. // Đoạn mã như sau. int[5]; // Lưu vào vùng Data int chính() { int[5]; // Lưu vào vùng Stack int* arr = (int*)malloc(5 * sizeof(int)); // Lưu trong vùng heap // Bộ nhớ được cấp phát động, nhưng bản thân mảng đó là mảng tĩnh. } nếu như "Mảng tĩnh trong ngôn ngữ C được phân bổ vào bộ nhớ ngăn xếp ở giai đoạn biên dịch." Nếu lời đề nghị là đúng, "Biến kiểu Int trong ngôn ngữ C được phân bổ vào bộ nhớ ngăn xếp ở giai đoạn biên dịch." Mệnh đề này cũng đúng vì nó có cơ chế tương tự. "Nếu bạn ném xúc xắc, bạn sẽ nhận được số 3. 1, 2, 4, 5 và 6 là những trường hợp ngoại lệ." Lời giải thích này có đúng không? "Khi bạn ném xúc xắc, số xuất hiện là số ngẫu nhiên từ 1 đến 6." Việc giải thích này có đúng hay không là tùy thuộc vào học sinh. phép cộng. Trước khi tôi kịp nhận ra thì người hướng dẫn đã sửa đổi lại Notion. Theo logic của Notion, trong Java không chỉ Array mà tất cả các cấu trúc dữ liệu đều được lưu trữ trong Heap. Câu trả lời của giáo sư bên dưới... Tôi không biết bạn muốn đưa ra lập luận nào. [Cấu trúc dữ liệu cụ thể, bước xây dựng và phân bổ vùng bộ nhớ quy trình không liên quan] là chính xác. Bạn đã viết tốt các điểm 1, 2 và 3 theo tiêu chuẩn ngôn ngữ C, nhưng tại sao kết luận lại không xuất hiện? [Dựa trên tiêu chuẩn ngôn ngữ C, các mảng được phân bổ vào vùng ngăn xếp ở giai đoạn biên dịch] Tôi không biết liệu nó có xuất hiện không. Dù sao thì mọi người cũng đang gặp khó khăn.

nossi님의 프로필 이미지
nossi
Người chia sẻ kiến thức

Xin chào jordy. Cảm ơn bạn rất nhiều vì đã để lại một đánh giá dài và trung thực để giúp đỡ sinh viên. Tuy nhiên, dựa trên ngôn ngữ C, không có lỗi nào khi phát biểu rằng Mảng được cấp phát bộ nhớ trong vùng ngăn xếp trong giai đoạn biên dịch. Tuy nhiên, nó có thể khác với góc nhìn JAVA, vì vậy tôi nghĩ nó có thể khá khó hiểu. Chi tiết sẽ được giải thích chi tiết tại link này [https://midi-mandolin-36f.notion.site/Array-33d866e5193f49789dd2079c75412f96?pvs=4]. Mọi người hãy xem nhé, nó sẽ rất hữu ích đấy!! Nếu tôi nói rõ ràng trong lớp rằng đó là chuẩn ngôn ngữ C thì sẽ không có sự nhầm lẫn nào cả, nên tôi xin lỗi. Vì nó được đề cập ngay sau khi tôi giải thích mảng tĩnh, mảng động và danh sách liên kết bằng ngôn ngữ C nên tôi nghĩ mọi người sẽ tự nhiên chấp nhận nó như một tiêu chuẩn trong ngôn ngữ C. Tuy nhiên, tôi cảm thấy khó chịu vì bài giảng của tôi dường như đã xúc phạm Jordan rất nhiều. Nhìn vào lịch sử khóa học của bạn, tôi thấy rằng bạn đã học 3 bài không bao gồm phần giới thiệu. Nếu bạn muốn được hoàn lại tiền, bạn có thể thực hiện điều đó thông qua Infron Inquiry. Dù bạn không có quan hệ gì với tôi thì tôi cũng mong bạn luôn làm tốt. :) cố gắng lên!

Xin chào. Người hướng dẫn Tương tự như vậy trong tiêu chuẩn ngôn ngữ C, "Mảng được phân bổ bộ nhớ trong vùng ngăn xếp trong giai đoạn biên dịch" Đề xuất này không phải lúc nào cũng đúng. Tất nhiên, các "chức năng" chính và khác; Nếu bạn tạo một mảng như int x[100] bên trong, Điều này đúng vì các biến cục bộ được lưu trữ trong vùng ngăn xếp. Tuy nhiên, điều này là do trình biên dịch ngôn ngữ C lưu trữ các biến cục bộ trong vùng ngăn xếp và không phải là đặc điểm của cấu trúc dữ liệu Mảng. Và nếu bạn tạo nó trong vùng biến toàn cục bên ngoài hàm chính hoặc thực hiện phân bổ động bằng cách sử dụng alloc (malloc), v.v., Mảng cũng có thể được tạo ở các khu vực khác ngoài Ngăn xếp. Vì bạn giải thích các đặc điểm cấu trúc dữ liệu và đặc điểm ngôn ngữ có thể thay thế cho nhau nên chắc chắn sẽ có sự nhầm lẫn. "Một cấu trúc dữ liệu nhất định được tạo trong một vùng bộ nhớ nhất định" Mệnh đề tương tự không phải lúc nào cũng đúng. Như bạn đã đề cập, mỗi ngôn ngữ có thể khác nhau và thậm chí cùng một ngôn ngữ có thể được lưu trữ ở các vùng bộ nhớ khác nhau tùy thuộc vào ý định của nhà phát triển. Từ Notion được cung cấp dưới dạng liên kết "Trong bài giảng này, Mảng đề cập đến mảng tĩnh trong ngôn ngữ C." Bạn đã nói. Khi có mã như sau trong "ngôn ngữ C", "Mảng tĩnh" Vùng cấp phát bộ nhớ của giống như bình luận. int a[10000][10000]; // Cấp phát cho các vùng khác ngoài Stack int chính() { int b[10000][10000]; // Cấp phát vào vùng Stack }

nossi님의 프로필 이미지
nossi
Người chia sẻ kiến thức

Cảm ơn bạn đã trả lời tốt. Vâng, đúng vậy. Câu lệnh “mảng được cấp phát bộ nhớ trong vùng ngăn xếp trong giai đoạn biên dịch” không phải lúc nào cũng đúng. Nhờ sự đề cập của bạn, tôi đã liên kết ngoại lệ với cộng đồng bài giảng (câu hỏi) để những người khác cũng có thể nhìn thấy. Cảm ơn Các môn học như cấu trúc dữ liệu, thuật toán, mạng, cơ sở dữ liệu và hệ điều hành là những nội dung rộng và rất sâu được học trong 3 đến 4 năm tại một trường đại học 4 năm. Trên thực tế, những gì tôi học được từ các giáo sư trong bốn năm qua không thể giải đáp hết tất cả những câu hỏi tôi sẽ được hỏi trong cuộc phỏng vấn. Khi đang trong quá trình chuẩn bị cho buổi phỏng vấn, tôi đã chuẩn bị rất kỹ càng bằng cách xem qua từng cuốn sách dày cộm. Nó phù hợp với phong cách học tập của tôi. Tuy nhiên, sau khi trải qua hàng chục cuộc phỏng vấn và cuối cùng được nhận vào công ty mà tôi mong muốn, nhìn lại, tôi có chút tiếc nuối. ‘Nếu có ai đó đóng vai trò là người hướng dẫn ngay từ đầu, mình đã có thể tiết kiệm được thời gian quý báu.’ Vì vậy, điều tôi tập trung nhất khi tạo khóa học này là ‘giảm thời gian học tập’. Ví dụ: tôi đã giải thích rằng quá trình thay đổi kích thước của một mảng động được gọi là nhân đôi, nhưng nếu bạn nhìn vào cách nó được triển khai thực sự trong từng ngôn ngữ, thì nó không thực sự tăng gấp đôi. Tuy nhiên, lý do tôi không thể đề cập đến tất cả những điều này trong bài giảng là vì tôi nghĩ đó sẽ là một lời giải thích quá đáng. Trên thực tế, khi soạn bài giảng, tôi nhận ra rằng việc giảm thời gian bằng cách tóm tắt “nội dung chính” sẽ khó hơn là tăng thời gian bằng cách giải thích “tất cả nội dung”. Có vẻ như nó đã gây ra sự nhầm lẫn trong quá trình này. Đó là cơ hội để suy nghĩ lại về bài giảng. Cảm ơn

Cảm ơn bạn đã trả lời của bạn. bạn nói đúng. Việc thay đổi kích thước của Dynamic Array cũng được triển khai trong Java với mức tăng 50%. Bản thân là một cựu giảng viên, tôi biết rất rõ rằng rất khó để giải thích một điều gì đó một cách trọn vẹn ngay lập tức. Chúng tôi chân thành xin lỗi vì đã sử dụng ngôn ngữ có phần gay gắt trong lần đánh giá đầu tiên. Để phản ánh, tôi sẽ không xóa hoặc chỉnh sửa bài đánh giá khóa học. Sở dĩ tôi phản ứng như vậy là vì, với tư cách là một tiền bối đã dạy dỗ nhiều hậu bối, Chi phí của khóa học là khá cao đối với người tìm việc, nhưng tôi nghĩ đó là do có một số phần của khóa học chưa đạt được điều gì đó mong muốn. Tuy nhiên, cảm ơn bạn đã giảng hay về hầu hết nội dung ngoại trừ một số phần khiến tôi thất vọng. Tôi cũng học được rất nhiều. Cảm ơn

Hình thu nhỏ của Nhà phát triển phỏng vấn chính để chuẩn bị cho kỳ thi vừa qua [Chinh phục hoàn toàn CS]
nossi

·

65 bài giảng

·

2,219 học viên

Hình thu nhỏ của Nhà phát triển phỏng vấn chính để chuẩn bị cho kỳ thi vừa qua [Chinh phục hoàn toàn CS]
nossi

·

65 bài giảng

·

2,219 học viên