Try   HackMD

職缺與相關的面試題

Synology's logo Product Developer (網頁應用軟體開發)

職缺詳細資訊

職務說明
Synology designs data management solutions engineered to enable businesses to continue turning the wheels of innovation. We are looking for an enthusiastic and self-driven developer to join our team. As a Web Application Product Developer at Synology, you will be tasked with building responsive, aesthetically pleasing, and easy to use web applications powered by our solutions. Your work impacts the user experience of millions of customers.

You will:

  • Build reliable and high-performance web applications on cloud-based platforms such as Synology Account, Synology C2, and on-premises solutions such as Synology DSM
  • Develop, deploy, maintain, and improve your work through methodological, iterative processes
  • Continually pursue performance optimization and user interface/experience improvements
  • Identify and establish patterns and best practices for building excellent web experiences
  • Collaborate with Product Designers, Product Managers, and Product Developers to deliver compelling user-facing products
    職務需求
    You are expected to have:
  • Experience coding with JavaScript, and one or more programming languages, such as: Java, C/C++, Python, or Go
  • Excellent problem-solving, analytical, and troubleshooting skills
  • A genuine passion for developing high-performance and reliable systems
  • Excellent communication and interpersonal skills
  • Familiarity with Unix/Linux environments

We're targeting candidates with:

  • Experience in web technologies, including object-oriented JavaScript, HTML5, and CSS3
  • Experience with front end technologies and/or front end frameworks like React, Vue, or Angular
  • Experience with browser APIs and optimizing front end performance
  • Know-how of administrating web servers like Apache or Nginx
  • Experience in container-based solutions, such as Kubernetes, EKS, Docker, and ECS
  • Experience in integrating GitLab CI/CD

相關面試題:

Appier Software Engineer, Backend Development (Graduate)

職缺詳細資訊

職務說明
Synology designs data management solutions engineered to enable businesses to continue turning the wheels of innovation. We are looking for an enthusiastic and self-driven developer to join our team. As a Web Application Product Developer at Synology, you will be tasked with building responsive, aesthetically pleasing, and easy to use web applications powered by our solutions. Your work impacts the user experience of millions of customers.

You will:

  • Build reliable and high-performance web applications on cloud-based platforms such as Synology Account, Synology C2, and on-premises solutions such as Synology DSM
  • Develop, deploy, maintain, and improve your work through methodological, iterative processes
  • Continually pursue performance optimization and user interface/experience improvements
  • Identify and establish patterns and best practices for building excellent web experiences
  • Collaborate with Product Designers, Product Managers, and Product Developers to deliver compelling user-facing products
    職務需求
    You are expected to have:
  • Experience coding with JavaScript, and one or more programming languages, such as: Java, C/C++, Python, or Go
  • Excellent problem-solving, analytical, and troubleshooting skills
  • A genuine passion for developing high-performance and reliable systems
  • Excellent communication and interpersonal skills
  • Familiarity with Unix/Linux environments

We're targeting candidates with:

  • Experience in web technologies, including object-oriented JavaScript, HTML5, and CSS3
  • Experience with front end technologies and/or front end frameworks like React, Vue, or Angular
  • Experience with browser APIs and optimizing front end performance
  • Know-how of administrating web servers like Apache or Nginx
  • Experience in container-based solutions, such as Kubernetes, EKS, Docker, and ECS
  • Experience in integrating GitLab CI/CD

相關面試題:

Netflix Software Engineer, Enablement Apps Platform and Reliability Team - APAC

職缺詳細資訊

About the role

Are you a graduate with a passion for technology and a knack for problem-solving? Do you have a strong foundation in computer science and a desire to create innovative solutions? If so, we have an exciting opportunity for you to join our dynamic team as a Software Engineer, Backend Development.

Suggested Optimal Resume Submission Time: The ideal time to submit your resume is 1-3 months prior to the earliest date you are available to report for duty.
Military Service Information: Please refer to https://reurl.cc/4WYjKj
Responsibilities

Backend Development: Collaborate with the development team to design, implement, and test software applications that meet customer needs and industry standards. Use your creativity and technical expertise to develop robust and efficient code.
Problem-solving: Analyze complex technical challenges and develop effective solutions. Embrace a proactive approach to tackle issues and continuously improve the software development process.
Innovation: Stay up-to-date with the latest industry trends and technologies. Contribute ideas and suggestions to improve existing projects and develop new features.
Collaboration: Work closely with cross-functional teams, including internal users, product managers, and quality assurance, to deliver high-quality software products.

About you

[Minimum qualifications]

Fluently in any programming language.(prefer python)
Enthusiasm for learning and staying updated with emerging technologies.
Proactive, good interpersonal and problem-solving skills.
Understand what happens when you type a URL in the browser and press enter.
Familiar with git.
[Preferred qualifications]

Experience with infrastructure-as-code tools (Terraform / Ansible)
Experience with any CNCF project.
Good understanding of any SQL/NoSQL database (Clickhouse / MongoDB / Redis / etc.)
Internships, projects, or personal coding experience are a plus.

相關面試文章:

  • 資工女孩轉職中 — 冰河期前的面試
    • Amazon的面試有三個階段:Online Assessment、Phone interview、Final interview
    • Amazon正式的面試一場60分鐘,Phone interview一場,Final interview四場,每一場都會有tech以及behavioral的部分。Behavioral會以Amazon的 Leadership Principles 為主軸,所以事前要先針對每個原則準備一些故事,在面試官問問題的時候,在回答中體現出你擁有Amazon想要的Leadership特質。
  • 2022 轉職前端的海外求職與面試心得 (Amazon 與 ByteDance/TikTok 等)
    • 在 LeetCode 的討論區中,很多人會回報自己 OA (Online Assessment )遇到的題目,舉例來說,在討論區搜尋 Amazon Online Assessment 可以看到我遇到的這兩題,過去都有人回報有遇到

履歷

resume

自評

  • 熟悉 JavaScript 與 Python,並具備 C 程式開發經驗
  • 擁有資料庫設計及效能優化經驗
  • 熟悉 Unix/Linux 環境與容器
  • 熟悉前端技術與 Web API 開發
  • 具備 CI/CD 經驗
  • 理解瀏覽器請求流程與技術基礎
  • 自身優勢
    • 網頁技術涵蓋全端
    • 熟悉 Git 版本控制
  • 缺點:
    • 目前的專案規模多為單用戶或小型應用,尚未參與過針對多用戶的系統設計,如高併發、多用戶存取控制或負載均衡等
    • 尚無針對多用戶環境的平行設計經驗,例如資料分區(sharding)、分散式儲存或高可用性架構的規劃。
    • 欠缺真實的多用戶挑戰
    • 進階網頁技術探索不足,例如 Web 性能優化(如 CDN、快取機制)或

模擬面試

https://hackmd.io/@Korin777/info2023-homework3#簡歷
interviewer : 🧑‍💼
interviewee : 👧🏻

🧑‍💼: 請簡單介紹一下自己
👧🏻: 我是 XXX 就讀於成大資管所,論文主題是NLP,並曾經參與多個網頁開發,擁有網頁前後端開發經驗。

Interviewer: 🧑‍💼
請詳細說明你通常如何實現登入登出的功能與細節,包括使用的工具、加密演算法以及邏輯。

Interviewee: 👧🏻
如果使用 next-auth 來實現基於 Session 的登入登出,整體流程會大致如下:

首先,在用戶嘗試登入時,伺服器會處理用戶提交的憑證,例如帳號和密碼。這些密碼並不會直接存儲在資料庫中,而是經過 bcrypt 進行單向加密。登入時會拿用戶輸入的密碼,使用 bcrypt.compare 與資料庫中加密後的密碼進行比對。如果驗證成功,next-auth 會為用戶建立一個 Session。

這個 Session 的資料會存儲在伺服器端,而在用戶端,next-auth 會透過 Cookies 設置一個 Session Token。這個 Token 是與伺服器的 Session ID 對應的,並且可以設置 HttpOnly 和 Secure 標籤來增強安全性。

伺服器每次收到用戶的請求時,會從 Cookies 中提取 Session Token,然後檢查這個 Token 是否有效。如果有效,就可以從 Redis 中提取用戶的相關資訊,比如用戶 ID 或權限等,從而完成身份驗證。

至於登出過程,next-auth 會直接清除伺服器端的 Session 資料,並向用戶端返回一個過期的 Cookie,這樣可以確保用戶無法再使用之前的 Session 進行請求。為了進一步確保安全性,我通常會建議設置一個短的 Session 有效期限,並在每次請求時自動延長 Session 的有效期,這樣可以平衡安全性和用戶體驗。