Tôi đang tìm kiếm các ví dụ về các vấn đề giả mã mà bạn có thể đã được hỏi trong một cuộc phỏng vấn hoặc được yêu cầu đại diện như một phần của công việc hoặc giáo dục của bạn. Tôi không tìm kiếm các ví dụ từ bất kỳ tên miền nào cụ thể, vì vậy nó có thể liên quan đến các mẫu thiết kế, thuật toán, cấu trúc dữ liệu, chiến lược lưu trữ, mọi thứ liên quan đến Kỹ thuật phần mềm và Phát triển, đơn giản hoặc phức tạp.Câu hỏi giả, câu đố và thách thức phổ biến
Ví dụ, một số những người chung tôi đã tìm thấy chủ yếu là liên quan đến phân loại và tìm kiếm các kỹ thuật:
procedure bubbleSort(A : list of sortable items) defined as:
do
swapped := false
for each i in 0 to length(A) - 2 inclusive do:
if A[i] > A[i+1] then
swap(A[i], A[i+1])
swapped := true
end if
end for
while swapped
end procedure
insertionSort(array A)
begin
for i := 1 to length[A]-1 do
begin
value := A[i];
j := i - 1;
done := false;
repeat
if A[j] > value then
begin
A[j + 1] := A[j];
j := j - 1;
if j < 0 then
done := true;
end
else
done := true;
until done;
A[j + 1] := value;
end;
end;
BinarySearch(A[0..N-1], value, low, high) {
if (high < low)
return -1 // not found
mid = low + ((high - low)/2)
if (A[mid] > value)
return BinarySearch(A, value, low, mid-1)
else if (A[mid] < value)
return BinarySearch(A, value, mid+1, high)
else
return mid // found
}
Chúng tôi có thể xây dựng danh sách các thuật toán và vấn đề giả dạng phong nha, nếu nhiều người chia sẻ suy nghĩ và kinh nghiệm của họ.
Tôi đang tìm cách tự giới thiệu bản thân giả, như thực hành. Vì vậy, ngay cả khi bạn không thể tìm thấy một ví dụ giả, nhưng bạn nghĩ rằng nó sẽ là một khái niệm lý tưởng để đại diện theo cách này, điều đó cũng sẽ giúp ích.
Tôi cũng có một vài câu hỏi liên quan đến chủ đề quá:
- Mà giả đã bạn được yêu cầu viết trong một cuộc phỏng vấn trước đây?
- Những câu hỏi này có liên quan đến các thuật toán ngắn, đơn giản dài một hoặc hai hàm không?
- Có nên tránh các cấu trúc ngôn ngữ cụ thể khi viết mã giả không? Vì biểu diễn có nghĩa là không thuyết phục về ngôn ngữ, có an toàn hơn khi không sử dụng các thuật ngữ như Vứt bỏ và bỏ qua không tồn tại trong mỗi ngôn ngữ?
Cảm ơn
Edit:
Một vài ví dụ về một số chi tiết tôi đã tìm thấy, tôi sẽ giữ chỉnh sửa như tôi tìm thêm:
Viết một hàm có một chuỗi đơn để đảo ngược thứ tự các từ trong một câu, không đảo ngược các từ:
Đầu vào: "Con mèo ngồi trên tấm thảm, với con mèo khác!"
Output: "mèo khác với mat, về ngồi mèo Các"
Viết một hàm mang theo một chuỗi duy nhất mà sẽ trả lại từ đó xảy ra nhất trong chuỗi mà, bỏ qua vụ án và dấu chấm câu . Nếu có nhiều hơn một từ có cùng số lần xuất hiện, hãy trả về một từ xuất hiện trước:
Nhập: "Con mèo ngồi trên tấm thảm, với con mèo khác!"
Output: các
Viết một chức năng để tìm ra nhân vật có số lượng cao nhất của lần xuất hiện trong một chuỗi nào đó, bỏ qua trường hợp Nếu có nhiều hơn một ký tự với lần xuất hiện cao nhất bằng nhau, trở lại. các nhân vật xuất hiện đầu tiên trong chuỗi
Input:. "Character"
Output: c
Viết một hàm đảo ngược một chuỗi
Input: "đảo ngược"
Output: "esrever"
Nếu bạn đang viết mã giả, bạn nên cố gắng để thể hiện các thuật toán như rõ ràng và chính xác nhất có thể. Điều đó thường có nghĩa là bỏ qua quản lý tài nguyên rõ ràng, nhưng sử dụng những thứ như "yếu tố foreach trong somecollection", ngay cả khi không có tương tự trực tiếp trong một số ngôn ngữ. –