Mục lục[Ẩn giấu][Chỉ]
- 1. AWS Lambda chính xác là gì?
- 2. Triển khai tự động chính xác là gì?
- 3. Dịch vụ web của Amazon Lambda hoạt động như thế nào?
- 4. Tính năng tự động mở rộng quy mô của Lambda có nghĩa là gì?
- 5. AWS Lambda hỗ trợ những ngôn ngữ nào?
- 6. AWS Lambda cung cấp những chức năng nào giúp tự động hóa việc triển khai?
- 7. Các ràng buộc áp đặt đối với mã hàm AWS lambda là gì?
- 8. Điều gì phân biệt EC2 với AWS Lambda?
- 9. Những trường hợp nào có thể kích hoạt chức năng AWS Lambda?
- 10. Bạn tin rằng yếu tố nào khiến Lambda trở thành một phương pháp tiếp cận tiết kiệm thời gian?
- 11. Một số điểm yếu của AWS Lambda là gì?
- 12. Suy nghĩ của bạn về việc triển khai thời gian chết bằng không?
- 13. Mô tả AMI.
- 14. Bạn có tin rằng các trường hợp và AMI có liên quan với nhau không?
- 15. Các phương pháp hay nhất về bảo mật của Lambda là gì?
- 16. Lambda Elastic Block Storage chính xác là gì?
- 17. Bạn hiểu bao nhiêu về việc tạo AMI?
- 18. Bạn hiểu gì về biểu thức lambda?
- 19. Mô tả SQS trong AWS lambda và các trách nhiệm của nó.
- 20. Việc mở rộng quy mô theo chiều dọc có khả thi với Lambda không?
- 21. Khởi động một ứng dụng serverless: tôi nên làm gì?
- 22. Một ứng dụng không máy chủ nên xử lý sự cố như thế nào?
- 23. Điều gì phân biệt hàm Lambda với một lớp ẩn danh?
- 24. Có số lượng tối đa các hàm AWS Lambda có thể chạy đồng thời không?
- 25. Lambda đã nghĩ đến những trường hợp sử dụng thực tế nào khi nó được tạo ra?
- 26. Những loại chương trình nào có thể được thực hiện với AWS Lambda?
- 27. Vectơ hóa AVX2 trong Lambda có nghĩa là gì?
- Kết luận
Hơn 200 dịch vụ có sẵn thông qua Amazon Web Services (AWS).
AWS Lambda, tuy nhiên, vẫn còn khác biệt vì một số lý do. Dịch vụ điện toán không máy chủ dựa trên sự kiện cho nền tảng AWS được gọi là AWS Lambda.
Các sự kiện được tính toán bởi các hàm hướng sự kiện xảy ra tự động để đáp ứng với các trình kích hoạt, là các loại đầu vào khác nhau.
Mặc dù hệ sinh thái AWS Lambda không chỉ bao gồm các chức năng như một dịch vụ (FaaS), nhưng điều này thường được gọi là như vậy. Trên các chức năng hướng sự kiện, sau này sẽ có thêm.
Các nhà phát triển có thể tạo và chạy mã bằng Lambda mà không phải lo lắng về trách nhiệm quản trị nhờ vào máy tính không máy chủ.
Các câu hỏi phỏng vấn AWS Lambda phù hợp có thể tạo ra tác động đáng kể trong các cuộc phỏng vấn kỹ thuật của bạn với FAANG, cho dù bạn là một chuyên gia dày dặn kinh nghiệm hay một người mới tuyển dụng.
Chúng tôi sẽ xem xét các câu hỏi phỏng vấn AWS Lambda trong bài đăng này, từ cơ bản đến phức tạp, để giúp bạn sẵn sàng cho các cuộc phỏng vấn với các công ty khác nhau.
1. AWS Lambda chính xác là gì?
Dịch vụ web AWS Amazon cung cấp Lambda, một nền tảng không máy chủ cho máy tính theo hướng sự kiện.
Do đó, bạn sẽ không phải căng thẳng về việc khởi chạy các tài nguyên AWS phù hợp hoặc quản lý chúng một cách hiệu quả. Thay vào đó, bạn có thể chạy mã bằng cách đặt nó trên Lambda.
Mã được chạy trong AWS Lambda để phản ứng với các sự kiện dịch vụ AWS như thêm hoặc xóa tệp khỏi nhóm S3, nhận yêu cầu HTTP từ cổng Amazon API, v.v.
Mặt khác, Amazon Lambda bị hạn chế đối với các hoạt động nền. Thay vì xử lý kiểm soát truy cập hệ điều hành (OS), vá lỗi, điều chỉnh kích thước phù hợp, cung cấp, mở rộng quy mô và các tác vụ khác, AWS Lambda cho phép bạn tập trung vào sản phẩm cốt lõi và logic kinh doanh của mình.
2. Triển khai tự động chính xác là gì?
Trong khi lập trình bằng các ngôn ngữ khác tương tự như triển khai tự động, có ít khó khăn hơn. Ngoài ra, nó giảm thiểu mọi sự can thiệp của con người, giúp các công ty đạt được kết quả tốt nhất có thể về mặt chất lượng.
Khi một người thành thạo, đường ống có thể được triển khai dễ dàng.
3. Dịch vụ web của Amazon Lambda hoạt động như thế nào?
Mặc dù AWS Lambda ban đầu có vẻ không rõ ràng, nhưng thực tế không phải vậy.
Trên thực tế, đó là một phương pháp 3 bước đơn giản.
- Tải mã của bạn lên AWS Lambda là bước đầu tiên.
- Tiếp theo, định cấu hình mã của bạn sao cho mã sẽ được kích hoạt bởi các dịch vụ AWS khác, điểm cuối HTTP hoặc ứng dụng di động.
- Các tài nguyên tính toán cần thiết để chạy mã của bạn sẽ chỉ được AWS Lambda sử dụng khi nó được kích hoạt.
4. Tính năng tự động mở rộng quy mô của Lambda có nghĩa là gì?
Một trong những dịch vụ của AWS giúp dễ dàng hơn trong việc tạo các phiên bản mới tự động và khởi động chúng là dịch vụ này. Thực tế là AWS Auto Scaling không yêu cầu bất kỳ sự can thiệp nào tại bất kỳ thời điểm nào là một trong những tính năng mạnh nhất của nó.
Tuy nhiên, người dùng có thể theo dõi mọi thứ bằng cách sử dụng các chỉ số và tiêu chí. Người ta phải vượt qua một ngưỡng để kích hoạt tác vụ này và sau đó, không bị cản trở, người ta có thể xem các phiên bản được chia tỷ lệ theo chiều ngang.
5. AWS Lambda hỗ trợ những ngôn ngữ nào?
- C#
- hồng ngọc
- Go
- Java
- Python
- js
- PowerShell
6. AWS Lambda cung cấp những chức năng nào giúp tự động hóa việc triển khai?
Các biến dành riêng cho môi trường được AWS lambda hỗ trợ. Khi nói đến việc thay đổi gói triển khai, chúng có thể được sử dụng cho dữ liệu và nhiều thông tin đăng nhập bổ sung.
Nó cũng cho phép bí danh vì nó sử dụng phương thức không máy chủ. Thực sự có một số loại mà bạn có thể nhanh chóng nghĩ đến, chẳng hạn như sản xuất giai đoạn và nhà phát triển.
Do đó, các chức năng có thể dễ dàng được tính đến để thử nghiệm trong khi thực sự không làm ảnh hưởng đến mã sản xuất. Vì điểm cuối ổn định, người ta có thể tiến hành công việc một cách nhanh chóng.
7. Các ràng buộc áp đặt đối với mã hàm AWS lambda là gì?
AWS Lambda không có nhiều giới hạn đối với các ngôn ngữ lập trình phổ biến và hoạt động của hệ điều hành.
Có một số hạn chế đối với các hoạt động, chẳng hạn như theo dõi cuộc gọi và kết nối mạng đến, dự định sẽ bị vô hiệu hóa.
Ngoài ra, hãy tắt gỡ lỗi hệ thống và mở cổng TCP (Hơn 25 lưu lượng có sẵn để đo lường chống thư rác). Các ổ cắm IP / TCP đặc biệt hữu ích cho các kết nối dữ liệu đi.
8. Điều gì phân biệt EC2 với AWS Lambda?
Không cần phải quản lý máy chủ hoặc phiên bản, mã có thể được thực hiện bằng AWS Lambda, một dịch vụ AWS không máy chủ và dựa trên sự kiện.
Mặt khác, Amazon EC2 là một điện toán đám mây dịch vụ cung cấp một khuôn khổ để xây dựng các phiên bản máy ảo mạnh mẽ (phiên bản VM) hoặc máy chủ đám mây.
Trong khi bạn có thể chọn bất kỳ phiên bản máy ảo nào với Amazon EC2, với AWS Lambda, bạn có thể tạo mã và tải nó lên đám mây bằng cách gọi các hàm. Để tạo các phiên bản EC2, bạn có thể thiết lập trình kích hoạt AWS lambda.
9. Những trường hợp nào có thể kích hoạt chức năng AWS Lambda?
Bảng điều khiển Lambda, điểm cuối HTTP (S) URL hàm, API Lambda, AWS SDK, Giao diện dòng lệnh AWS (AWS CLI) và bộ công cụ AWS đều là những cách gọi trực tiếp các hàm Lambda.
Ngoài ra, bạn có thể thiết lập Lambda để đọc từ luồng hoặc hàng đợi và gọi hàm của mình hoặc bạn có thể định cấu hình các dịch vụ AWS khác để làm điều tương tự. Ứng dụng không máy chủ, thường được gọi là ứng dụng dựa trên lambda, được tạo thành từ các chức năng kích hoạt sự kiện.
Một hoặc nhiều chức năng được kích hoạt bởi các sự kiện như tải đối tượng lên Amazon S3, thông báo Amazon SNS hoặc các hoạt động API tạo nên một ứng dụng không máy chủ điển hình.
10. Bạn tin rằng yếu tố nào khiến Lambda trở thành một phương pháp tiếp cận tiết kiệm thời gian?
Có thể có một số nguyên nhân cho điều này. Một trong số đó là Lambda giữ mọi thứ trong bộ nhớ cục bộ của máy chủ.
Một cách giải thích khác có thể là dữ liệu được lưu ngay lập tức vào cơ sở dữ liệu mà không ảnh hưởng đến tốc độ. Ngoài những đặc điểm này, Lambda cũng cung cấp các phương pháp kiểm tra đơn giản. Ví dụ, thử nghiệm tích hợp có thể được tăng cường bằng cách sử dụng nhiều nhà cung cấp.
11. Một số điểm yếu của AWS Lambda là gì?
Một nhược điểm đáng kể là cần phải tạo một vùng chứa tạm thời hoặc thời gian khởi động lạnh để chạy các tác vụ trong khoảng thời gian cực kỳ ngắn (từ 100 ns đến 2 phút). Nó làm tăng thêm thời gian để thực hiện lặp đi lặp lại các thủ tục giống nhau.
Không gian lưu trữ hạn chế, RAM nằm trong khoảng từ 128 MB đến 10 MB và kích thước gói triển khai điển hình là 50 MB là những ví dụ về giới hạn tính toán (chỉ 512 MB).
Thiếu kiểm soát môi trường trong khi tạo ứng dụng của bên thứ ba vì AWS là cơ quan quản lý chính.
12. Suy nghĩ của bạn về việc triển khai thời gian chết bằng không?
Trong hầu hết các trường hợp, triển khai được coi là các tính năng. Trong trường hợp chúng phức tạp, AWS Lambda sẽ tách chúng thành các đơn vị.
Ứng dụng thực sự vẫn ngoại tuyến trong thời gian này, đó là sự thật thực sự trong tình huống này. Tuy nhiên, hậu quả luôn đúng.
13. Mô tả AMI.
Xử lý dựa trên các liên từ Lambda có thể sử dụng AMI hoặc Amazon Machine Image. Về cơ bản, nó là một mẫu được sử dụng để chứa hệ điều hành, các chương trình khác và một máy chủ ứng dụng.
Ngay cả trong nền tảng điện toán đám mây, AMI cũng có khả năng chạy một máy chủ ảo.
14. Bạn có tin rằng các trường hợp và AMI có liên quan với nhau không?
Chúng có mối liên hệ với nhau. Một máy tính ảo với một tập hợp các đặc điểm xác định và một hệ điều hành có thể được tạo ra như một thể hiện.
Bản sao lưu đầy đủ của một phiên bản là AMI hoặc Amazon Machine Image.
15. Các phương pháp hay nhất về bảo mật của Lambda là gì?
Một trong những kỹ thuật bảo mật phổ biến nhất ở Lambda là sử dụng AWS IAM (Quản lý và truy cập danh tính). Một chiến lược hữu ích khác để tăng cường bảo mật là cấp cho người dùng được chỉ định quyền truy cập vào các trách nhiệm cụ thể.
Quyền truy cập có thể bị hạn chế đối với các máy chủ không được tin cậy hoặc không được phép theo kỹ thuật bảo mật này.
Ngoài ra, các quy trình bảo mật cần được cập nhật liên tục, bất kể mức độ mạnh mẽ và hiệu quả của chúng.
16. Lambda Elastic Block Storage chính xác là gì?
Về bản chất, nó là một mạng lưới lưu trữ kỹ thuật số lân cận, nơi các tác vụ có thể được bắt đầu. Khách hàng không còn phải lo lắng về việc mất dữ liệu trong trường hợp đĩa trong RAID bị hỏng vì nó có thể chịu lỗi mà không gặp bất kỳ vấn đề gì.
Elastic Block Storage cũng cho phép cung cấp và phân bổ lưu trữ. Nó cũng có thể được liên kết với API nếu cần.
17. Bạn hiểu bao nhiêu về việc tạo AMI?
Việc lấy một phiên bản từ Hình ảnh máy Amazon đáng tin cậy nên được ưu tiên hàng đầu. Bước tiếp theo là thêm cả gói và thành phần.
Lúc đầu, không cần thêm dữ liệu vào nếu nó nhạy cảm vì lo ngại về bảo mật. Sau đó, thông tin xác thực truy cập phải được thêm vào trước khi bạn có thể đăng ký với cơ sở dữ liệu.
Tùy thuộc vào nhu cầu của bạn và các yêu cầu cụ thể, bạn có thể dễ dàng tăng tổng số lượng dữ liệu bạn cần có trong đó ở bất kỳ mức độ nào.
18. Bạn hiểu gì về biểu thức lambda?
Chúng thường được nghĩ đến trong khi phát triển mã tốc ký. Vì lý do này, chúng về cơ bản có thể được sử dụng như các phương thức ẩn danh. Không cần nỗ lực nhiều, hiệu quả của người xây dựng có thể được cải thiện và mã đáng tin cậy có thể được viết một cách tự tin.
Về cơ bản, chúng là những khả năng ẩn danh.
19. Mô tả SQS trong AWS lambda và các trách nhiệm của nó.
SQS trong AWS Lambda không gì khác hơn là một phương pháp để truyền và trao đổi thông tin qua nhiều máy chủ cục bộ và các kết nối mạng.
Bạn có thể truy cập các thành phần Lambda khác nhau qua SQS, nó cũng cung cấp giao tiếp trên các ứng dụng. Ngay cả khi đang sử dụng các bộ phận hoạt động khác nhau, chúng vẫn được liên kết với nhau.
Ngoài ra, chiến lược thất bại bị loại bỏ và các thành phần có thể giao tiếp đúng cách.
20. Việc mở rộng quy mô theo chiều dọc có khả thi với Lambda không?
Có, nó là khả thi và trên thực tế, nó là một trong những tính năng tuyệt vời nhất của AWS Lambda. Về bản chất, nó được tính đến bất cứ khi nào một thể hiện lớn hơn phải được quay. Nó có thể bị tạm dừng nếu bạn đang sử dụng.
Bạn cũng phải ngắt kết nối khỏi máy chủ và tương tự. Bạn phải ghi lại ID của thiết bị mới trước khi tiếp tục quy trình của mình.
21. Khởi động một ứng dụng serverless: tôi nên làm gì?
Bạn phải điều khiển AWS Lambda và tải xuống bản thiết kế để bắt đầu phát triển các ứng dụng không máy chủ.
Tệp AWS Sam (còn được gọi là tài nguyên AWS trong chương trình) và tệp ZIP phải được bao gồm trong tệp gốc sẽ được tải xuống (chủ yếu bao gồm mã chức năng).
Các chương trình ứng dụng không máy chủ có thể được đóng gói, triển khai và ghi lại bằng các lệnh tạo Đám mây AWS.
22. Một ứng dụng không máy chủ nên xử lý sự cố như thế nào?
Bằng cách cấp cho các vai trò chức năng lambda quyền truy cập vào quyền tia x để chạy và chuyển “chế độ dò mã” của chức năng sang hoạt động, chức năng AWS lambda sau này có thể được theo dõi bằng cách sử dụng AWS x-ray.
Khi người dùng kích hoạt X-RAY cho các thành phần chức năng lambda, người dùng cũng xuất bản thông tin theo dõi lên tia X cùng với các dịch vụ lambda đã được sử dụng, thời gian đơn vị chức năng và thời gian thực thi chức năng.
SDK X-ray hiện được cung cấp cho Java và Ứng dụng Node.js.
23. Điều gì phân biệt hàm Lambda với một lớp ẩn danh?
Việc sử dụng các từ khóa có sự khác biệt đáng kể giữa một hàm Lambda và một lớp ẩn danh. Các từ khóa trong các lớp ẩn danh được sử dụng để phân giải các lớp chức năng ẩn danh, trong khi các từ khóa trong các hàm Lambda được sử dụng để phân giải các lớp chức năng.
24. Có số lượng tối đa các hàm AWS Lambda có thể chạy đồng thời không?
Ứng dụng AWS lambda được xây dựng để hoạt động trên một số trường hợp mã chức năng khác nhau, do đó câu trả lời là không. Ngoài ra, mỗi đăng ký tài khoản cho AWS lambda có ngưỡng an toàn được đặt trước cho một số lần thực thi liên tiếp nhất định.
Có thể điều chỉnh số lần thực thi kế thừa lambda tối đa cho một chức năng AWS, sau đó có thể được sử dụng để dự trữ đồng thời tài khoản người dùng cho các chức năng quan trọng hoặc cung cấp tốc độ lưu lượng truy cập chậm hơn cho các tài nguyên AWS thực sự có thể truy cập được.
25. Lambda đã nghĩ đến những trường hợp sử dụng thực tế nào khi nó được tạo ra?
Một số trường hợp sử dụng cho AWS Lambda bao gồm phản hồi tổng thể đối với các lần nhấp vào trang web, tải lên hình ảnh, giám sát cảm biến, phản ứng và đọc từ các thiết bị IoT. Nhưng quyền truy cập không chỉ bị hạn chế ở điều này.
Lambda cũng có thể được sử dụng để hoàn thành một số công việc bổ sung. Với Lambda, các dịch vụ back-end có thể được cung cấp tự động.
26. Những loại chương trình nào có thể được thực hiện với AWS Lambda?
AWS Lambda có thể được sử dụng cho nhiều tác vụ khác nhau, chẳng hạn như truy xuất và chuyển đổi dữ liệu cho các phần mềm phụ trợ di động được xây dựng bằng Amazon DynamoDB.
Khi các mục được tải lên Amazon S3, trình xử lý sẽ thay đổi kích thước và nén chúng. Amazon Kinesis, một nền tảng xử lý không cần máy chủ để truyền dữ liệu trực tuyến, được sử dụng cho việc này.
Bất kỳ dịch vụ web nào của Amazon đều có thể được sử dụng để báo cáo và kiểm tra API và nhiều tác vụ khác có thể được hoàn thành với sự hỗ trợ của AWS Lambda.
27. Vectơ hóa AVX2 trong Lambda có nghĩa là gì?
Tiện ích mở rộng vectơ nâng cao 86 (AVX2) của tập lệnh Intel x2 cho phép thực hiện lệnh đơn và lệnh nhiều dữ liệu (SIMD) trên vectơ 256-bit. AVX2 có thể cải thiện hiệu suất CPU cho các thuật toán có thể vector hóa với khả năng thực thi song song cao, dẫn đến độ trễ ngắn hơn và thông lượng tốt hơn.
Kết luận
Thanh danh! Giờ đây, bạn có quyền truy cập vào nhiều câu hỏi và câu trả lời phỏng vấn AWS Lambda, từ đơn giản đến phức tạp. Vì AWS Lambda rất khó để nắm bắt, nên người ta phải thận trọng khi trả lời các câu hỏi trong cuộc phỏng vấn.
Bạn sẽ không gặp bất kỳ vấn đề gì khi vượt qua cuộc phỏng vấn với sự trợ giúp của các câu hỏi đã đề cập ở trên. Để biết thông tin về cách chuẩn bị cho các cuộc phỏng vấn, hãy truy cập vào Hashdork's Loạt bài phỏng vấn phần.
Bình luận