- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Gần đây tôi đã có một cuộc phỏng vấn trong đó người phỏng vấn đưa cho tôi một số mã giả và đặt câu hỏi về nó. Thật không may, do thiếu chuẩn bị nên tôi không thể trả lời câu hỏi của anh ấy. Do thời gian có hạn nên tôi không thể hỏi anh ấy cách giải quyết vấn đề này. Tôi sẽ rất biết ơn nếu ai đó có thể hướng dẫn tôi và giúp tôi hiểu vấn đề để tôi có thể cải thiện trong tương lai. Đây là mã giả:
Một trạng thái mẫu của 'a':
[[ 2, KHÔNG, 2, KHÔNG],
[2, KHÔNG, 2, KHÔNG],
[NULL, KHÔNG, KHÔNG, KHÔNG],
[NULL, KHÔNG, KHÔNG, KHÔNG]]
CHỨC NĂNG foo()
CHO y = 0 đến 3
CHO x = 0 đến 3
NẾU a[x+1][y] != NULL
NẾU a[x+1][y] = a[x][y]:
a[x][y] := a[x][y]*2
a[x+1][y] := NULL
KẾT THÚC NẾU
NẾU a[x][y] = NULL
a[x][y] := a[x+1][y]
a[x+1][y] := NULL
KẾT THÚC NẾU
KẾT THÚC NẾU
KẾT THÚC CHO
KẾT THÚC CHO
CHỨC NĂNG KẾT THÚC
Người phỏng vấn hỏi tôi:
Đoạn mã trên có vấn đề gì và làm cách nào để khắc phục?
Sau khi sửa xong, hàm foo làm gì? Tập trung vào kết quả của chức năng chứ không phải chi tiết thực hiện.
Làm thế nào để làm cho foo tổng quát hơn? Giải thích tối đa ba hướng khái quát hóa có thể và mô tả các chiến lược cho từng hướng mà không cần viết mã!
Tôi đã đề cập với anh ấy:
0
, giá trị bool được gán là SAI
, kiểu tham chiếu được gán là null
.NẾU a[x+1][y] != NULL
,khix, điều kiện này sẽ tạo ra lỗi chỉ mục mảng vượt quá giới hạn
等于 3
.Nhưng tôi có cảm giác như người phỏng vấn đang tìm kiếm điều gì đó khác trong câu trả lời của tôi và không hài lòng với lời giải thích.
câu trả lời hay nhất
Bạn đã chơi trò chơi "2048" chưa (liên kết đến trò chơi)? Nếu không, câu hỏi này có thể không có nhiều ý nghĩa trực quan đối với bạn và do đó, tôi nghĩ đó là một câu hỏi phỏng vấn tồi.
Những gì nó cố gắng làm là mô phỏng một bước tiến lên trong trò chơi năm 2048. Các số sẽ di chuyển lên một ô trừ khi chúng chạm vào một số khác hoặc ranh giới ma trận (hãy nghĩ rằng trọng lực kéo tất cả các số lên trên). Nếu hai số bằng nhau thì chúng được kết hợp và tạo ra một số mới (tổng của chúng).
LƯU Ý: Đây không hẳn là một bước trong trò chơi 2048, vì các con số chỉ di chuyển lên một ô, trong khi trong trò chơi, chúng di chuyển "luôn luôn" cho đến khi chạm vào thứ khác. Để có được một bước trong trò chơi 2048, bạn cần lặp lại chức năng đã cho cho đến khi không có gì thay đổi nữa.
Như bạn đã nêu, vấn đề trong mã của bạn là chỉ mục mảng nằm ngoài giới hạn. Nó nên được đi qua bởi x = 0 đến 2
để sửa chữa.
Để làm cho nó linh hoạt hơn, bạn phải sáng tạo:
NULL
Nhưng một số giá trị thẻ khác cần được kiểm tra (là một đầu vào khác).Đáp án phần này:
ma trận số nguyên không thể có giá trị null, theo mặc định chúng được gán 0, false cho Boolean và null cho loại tham chiếu
Điều này phụ thuộc rất nhiều vào ngôn ngữ được sử dụng, vì vậy tôi sẽ không nói đó là lỗi trong mã giả (không nên sử dụng nó trong bất kỳ ngôn ngữ cụ thể nào). Ví dụ, trong một ngôn ngữ được gõ yếu tất nhiên bạn có thể có một hàm chứa int
Và NULL
ma trận các giá trị.
Bạn đã không đề cập đến những gì bạn nói về hoạt động của chức năng. Nếu tôi là người phỏng vấn, tôi muốn thấy ai đó “suy nghĩ rõ ràng” và nhận ra ít nhất những điều sau:
NULL
, nếu không sẽ không có chuyện gì xảy ra.NULL
và các phần tử cao hơn sẽ lớn gấp đôi.NULL
, thì giá trị thấp hơn không NULL
Phần tử "di chuyển" đến vị trí của phần tử trên cùng.Những quan sát về mã này có thể được thực hiện trực tiếp bằng cách đọc mã nguồn. Việc bạn có hiểu "quy tắc" và nhận thấy rằng nó (tương tự) trò chơi năm 2048 hay không phụ thuộc phần lớn vào việc bạn đã chơi trò chơi đó trước đây hay chưa.
Về thuật toán - Phỏng vấn kỹ thuật của Microsoft: Thuật toán ma trận, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/50338479/
Hãy tha thứ cho cái tiêu đề điên rồ này... Tôi đang cố gắng hiểu các khái niệm về kế thừa và giao diện trong lập trình hướng đối tượng. Vì vậy tôi đang cố gắng liên kết nó với một thứ mà tôi đã biết, đó là CSS. Trong CSS, bạn có thể tùy ý cho phép các phần tử "kế thừa" kiểu
Tôi có hàm C trả về unsigned char* biểu thị dữ liệu nhị phân. Tôi nhận thấy trong tài liệu rằng SWIG có một bản đồ kiểu đẹp để xử lý dữ liệu nhị phân làm đầu vào cho hàm C, nhưng khi hàm C trả về dữ liệu nhị phân thì nó vô dụng
Trước đây, tôi đã gặp phải các vấn đề tương tự nhiều lần và muốn biết nên sử dụng ngôn ngữ (phương pháp) nào để giải quyết các vấn đề tương tự (Tôi là nhà phát triển J2EE/java): Vấn đề: Trong số một tập hợp các từ có thể có, theo các quy tắc đã cho (giả sử Từ có thể là sự kết hợp của A và X và luôn bắt đầu bằng X
Câu hỏi này khó có thể giúp ích cho bất kỳ khách truy cập nào trong tương lai; nó chỉ liên quan đến một khu vực địa lý nhỏ, một thời điểm cụ thể hoặc một tình huống rất hẹp thường không áp dụng cho khán giả toàn cầu của Internet. Để được trợ giúp làm cho câu hỏi này có thể áp dụng rộng rãi hơn, hãy truy cập
Nếu chúng tôi đã phát triển khung ORM của riêng mình và khung đó hoạt động tốt trong vài năm qua, thì tại sao chúng tôi nên tìm hiểu và sử dụng các công nghệ .net hoàn toàn mới như LINQ hoặc Entity Framework hoặc NHibernat cho các dự án phần mềm sắp tới của mình
Mặc dù nghe có vẻ lạ nhưng tôi chắc chắn rằng mọi người đều đã từng gặp phải loại vấn đề này khi xử lý các ứng dụng lớn với nhiều thành phần tùy chỉnh. AV được tạo ở đâu đó nhưng ứng dụng vẫn tiếp tục thực thi và lỗi xuất hiện sau đó. Tôi không nói về các ứng dụng đa luồng. Chỉ về các ứng dụng đơn luồng chung
Tôi đang thiết kế một dự án mới và tôi đang cố gắng tìm ra cách đẩy dữ liệu/sự kiện từ ứng dụng máy chủ sang ứng dụng khách (tức là ứng dụng WPF). Hai cái tôi biết là: Xuất bản/Đăng ký (tức là NServiceBus) Full Duplex
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
Câu hỏi này đã có câu trả lời ở đây: C# .NET: Làm cách nào để kiểm tra xem chúng tôi có đang chạy bằng pin không? (6 câu trả lời) Đã đóng 9 năm trước. Tôi đã tìm thấy nhiều API có thể giúp xác định
Không có JQUERY! Tôi có một danh sách thả xuống nơi người dùng có thể chọn ngày, tháng và năm. Tôi đã tạo đoạn mã sau và sử dụng setFullYear để chuyển các giá trị này vào các biến. Đôi khi mình cũng thêm số ngày vào biến này đó là biến ev_num
Tôi có một điều khiển mà tôi muốn vẽ khác nhau trên biểu mẫu và khi in. Đây là cách tôi thực hiện: Private void printDocument1_PrintPage(object sender, System.Drawi
Tôi đang cố gắng xác định cách tốt nhất để trích xuất dữ liệu viết tay từ các tài liệu được quét. Dữ liệu viết tay được đặt trong các khu vực đóng hộp cụ thể. Tôi tạo phiên bản kỹ thuật số của tài liệu để tôi biết tọa độ của khu vực được đóng hộp và cũng có thể tạo các biến thể khác của tài liệu nếu muốn (tức là các phiên bản được che dấu để giúp các trường dễ trích xuất hơn
Bối cảnh Tôi xin lỗi vì câu hỏi dựa trên âm nhạc, nhưng chi tiết không quan trọng lắm. Tôi đang duyệt một tệp midi một cách tuần tự và tôi đang tìm một cách hiệu quả để tìm kiếm các mẫu trong dữ liệu nhằm tìm những thứ được gọi là bộ dữ liệu. Xem hình bên dưới: Có các số phía trên các bộ dữ liệu (3 hoặc
Người mới sử dụng Java dày dạn kinh nghiệm, đang tìm kiếm sự hiểu biết của bạn: Nếu không có cách nào để đảm bảo rằng một số mã khối cụ thể được thực thi khi một đối tượng nằm ngoài phạm vi, thì có phương pháp nào khác để cung cấp chức năng tương tự? (Có vẻ như việc hoàn thiện rõ ràng không có nghĩa như vậy) Một ví dụ
Tôi đang thử nghiệm một ứng dụng sơn nhỏ. Tôi muốn tạo các mẹo cọ khác nhau (không chỉ các đường nét đơn giản). Ý tưởng cơ bản là lặp lại (đấm) ngòi bút khi nó di chuyển dọc theo con chuột. Bởi vì chuyển động của chuột không gửi đi các sự kiện cần thiết cho mỗi pixel mà chuột di chuyển. TÔI
Tôi đang làm một ứng dụng thời gian biểu. Các lớp quan trọng là: Period id: int clazz: Clazz Chủ đềGiáo viên chủ đề: String teac
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này. Đã đóng 4 năm trước. Cải thiện q này
Tôi có một nhiệm vụ kỳ lạ cần giải quyết. Chúng tôi có một cửa sổ video nhỏ (như 300x200 pixel, bảng màu 256) và âm thanh 2ch 44kHz đang phát trên máy chủ. Chúng tôi cần gửi video phát trực tuyến này tới một số khách hàng (1,2.. lên đến 10
Tôi khá chắc chắn rằng mình đang thiếu thứ gì đó ở đây vì tôi còn khá mới với Shapeless và đang học, nhưng công nghệ Aux thực sự trở nên cần thiết từ khi nào? Chữ ký của “bạn đồng hành”
Microsoft có lý do gì mà vẫn nhất quyết sử dụng công nghệ COM (các thành phần của Office vẫn là COM)...khi mọi việc làm với COM đều có thể được thực hiện một cách tốt hơn và hiệu quả hơn với .Net Câu trả lời hay nhất Vì nó đòi hỏi một quá trình hoàn thiện lâu dài Viết lại Offi
Tôi là một lập trình viên xuất sắc, rất giỏi!