ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

java程序员实用英语学习总结

java程序员实用英语学习总结 1.实用英语学习方法英语学习方法wikihowchina dailyglobal timesthe economist自己感兴趣的领域话题dragon dictationgeniusmotivational v ideogoodreadshowcast.compadwikiquora词汇7000模仿.重复.细听[材料不要太多]听力:学会记录.模拟实战记笔记方法:主动.联想.思维导图. kindle. ipad.频繁使用笔记记住内容看美剧技巧:截图.速记.分享.尽量快无字母的.pdf软件给文档做注释。mooc coursera用输出倒逼输入.有效学好英语方法:参加雅思.托福.开设公众号总结分享学习经验。markdown写作分享最重要的是听力、口语、写作提升关键在于实际使用把英语用于生活、工作甚至把英语当作谋生工具脱离汉语依赖英语才会快速进步。2.实用英语Cover Letter(附信)面试邀请函介绍工作外企英文面试高频题SM Question Points:Self-introduction 自我介绍What is the difference between dependency and blocker? 依赖和阻塞的区别How do you monitor the delivery status? Any methods or data metrics for your reference? 如何监控交付状态What is CI/CD? Jenkins 什么是持续集成和持续交付How do you ensure the delivery quality in a short sprint with multiple deployments to PROD? 如何保证在快速迭代多次部署生产的软件的质量敏捷单词的解释/敏捷词的缩写: https://zhuanlan.zhihu.com/p/34870426How do you respond to the urgent requirement or cases? 面对突发的应急能力需求变更、阻塞、剧烈的团队冲突How do you manage the stakeholders? Identify stakeholder/ meeting with stakeholder /demoshowcase /sprint reviewHow is your time management of your daily work? 你的工作时间分配How do you coach with team/ how do you manage your team? 如何管理下属How long is your sprint plan meeting? 计划会议的时长How do you plan the sprint? 如何做计划会议What is the most important thing/ability/characteristic as a Scrum master? 作为SM你认为最重要的是什么What is the most typical team conflict per your experience? How do you resolve it? 你印象最深刻的团队冲突如何解决The usage of tools工具的使用 Jira/confluence/Jenkins/Git/etc.Sprint management 迭代管理How/when do you ask for help from team or escalate issue to manager/supervisor问题求助What is daily work of a Scrum master? How do you resolve the delay and how to communicate with external part to resolve the issue? 日常工作然后面对delay怎么处理和怎么解决外部沟通How to host the meeting as a Scrum master? 怎么开展会议How do you ensure the delivery of sprint that could meet customer’s requirement怎么确保团队做的东西能满足客户的需求Tell me about a project that your most proud ofTell me about the most challenging project you worked onTell me about a project that you had failedTell me about a time you took a risk and succeeded/failedTell me about a time you had to deal with tight deadline and you were able/not able to meet the targetTell me about a time you had conflict with your manager/peer/colleaguesTell me about a time you come up with a simple solution to a complex problemTell me about a time you come up with a new approach to an old problemTell me about a time you received negative feedback from your managerTell me about a time you made a decision without your manager’s approvalTell me about a time you had to make a decision when there is not enough data or informationTell me about a time you were assigned a project with unclear responsibilityTell me about a time you had to sacrifice short term gains for the long term goalsTell me about a time you were 50%/75% on a project and found you have made a mistake and have to change directionTell me about a time you came up with a solution that customer didn’t ask and they end up like itTell me about a time that customer tell you they want something but you know that’s not really what they wantTell me about a time you had to convince the team/convinced by the teamTell me about a project that you have to overcome big obstacleTell me about an experience that you have to earn trust/gain buy-in from another groupTell me about a time you step outside of your job scope and solved a problemWhat is your proudest/biggest innovationHow do you select metric to measure your project successHave you ever learn something new by yourself and end up using what you learn to solve problems at workIf you have conflicting goals, how do you make trade-offTell me about a time you have to seek outside help to dive deep on a problem to find the solutionTell me about a time you decided to take on a project instead of being assigned to you敏捷Agile敏捷开发的核心思想以用户的需求变化为核心采用迭代、循环渐进的方法进行软件开发Agile Manifesto(敏捷宣言)Individuals and interactions over processes and tools人和交互胜过过程和工具Working software over comprehensive documentation可工作的软件胜过完备的文档Customer collaboration over contract negotiation客户协作胜过合同谈判Responding to change over following a plan随时响应变化胜过尊享计划Agile Principles敏捷原则Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job doneThe most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity–the art of maximizing the amount of work not done–is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.5大价值观(5 values)· 承诺 Commitment - 愿意对目标做出承诺· 专注 Focus – 全身心都用到你承诺的工作上去· 开放 Openness – 团队内所有信息对所有人开放· 尊重 Respect – 每个人都有他独特的价值和经验· 勇气 Courage – 勇于承诺履行承诺敢于说不端到端解决方案执行过程we offer end-to-end software development services that imply transforming your initial product idea into a fully-functional product.STAGE 1. DISCOVERY(收集需求过程)Before developing a product or upgrading the existing software solution, the team performs initial product discovery. The main role of this stage is to grasp an overall product perception. On the way to achieving it, the team identifies the problems the solution will solve, considers technical aspects to implement it, and validates the overall market idea.During product discovery,our team performs such activities:1. Gather business and user goals2. Conduct stakeholder user interviews to formalize the technical and business requirements for the product3. Perform market research to analyze your competitors and understand what problems your product will solve and what benefits the product will provide to customers to outperform your competitors4. Identify main application personas5. Create a customer journey map (CJM) to clearly outline the steps the user needs to make to achieve a certain goal while interacting with your productSTAGE 2. PLANNINGThe following stage refers to formulating a single project plan outlining key project milestones, tech requirements, budget, and schedule. This means that project managers will break down the scope of work into manageable sprints, define roles and responsibilities, form a team, and create a detailed product description.During the planning stage,our team performs such activities:1.Conduct stakeholder workshops to finalize product requirements2.Conduct product, design, and engineering workshops to outline the tasks for the upcoming development cycle3.Establish a communications plan and team structure4. Set tech requirements5. Determine the right tech stack6. Set project schedule and budget7. Create software requirements specifications (SRS) and project planSTAGE 3. UX/UITo create an easy-to-navigate and user-friendly product experience and attractive product design, the team takes over the design of the product’s interfaces and establishes the user’s interaction with the product. The best UX/UI design practices help our designers get user feedback early on and test first design mockups.Based on the insights from the workshops and user feedback, we create a unique design system that describes the requirements for style and all elements, allowing developers to implement the product design correctly and speed up the development.During the UX/UI stage,our team performs such activities:1. Establish information architecture2. Create user flow and wireframes3. Develop product interfaces4. Create a unique design system that includes colors, typography, icons, and similar elements so that developers can implement software features in a consistent product styleSTAGE 4. CODINGThe next important stage of the end-to-end software development life cycle entails writing code to implement all software features step by step. Based on the design document specifications, SRS, and coding guidelines, developers utilize the chosen tech stack and tools needed to develop the software product.During the coding stage,our team performs such activities:1. Implement product features2. Conduct regular team meetings to fine-tune the product3. Conduct code and QA peer review4. Conduct delivery presentationsSTAGE 5. QA AND TESTINGDuring the testing stage, the team ensures the code doesn’t lead to any software operation failures. All features are tested to identify defects and fix them before deploying the product. The QA and testing are essential to ensure that a product meets industry quality standards and provides a positive end-user experience.During the QA and testing stage,our team performs such activities:1.Test software functionality2. Conduct users’ acceptance testing3. Check system integration4. Test platform compatibility with other software and hardware5. Test product’s security and performanceSTAGE 6. DEPLOYMENTAfter testing, our team deploys the system sequentially to avoid incorrect system operations. In this way, we can collect early user feedback, understand possible product vulnerabilities and rework them until the product is fully deployed. Our team deploys the final solution to the production environment and performs various tasks to ensure the product is ready for use.STAGE 7. MAINTENANCEThe most significant advantage of end-to-end software development is the possibility of involving the team to handle issues reported by end users. An end-to-end service provider offers ongoing product maintenance, troubleshooting, online support, bug fixes, and product upgrades. The main goal is to implement all the necessary changes after the deployment and fix the bugs missed before the launch.端到端的软件成本项目成本项目时间表Besides this, you should take into account that the final project estimate will also depend on the following factors:Business modelFeatures packageExpected time to marketDevelopment approachTeam locationTeam sizeTeam expertiseHiring modelhow to build end-to-end solutionBuilding an end-to-end solution involvesdesigning and implementing a comprehensive systemthat addresses all aspects of abusiness or technical problem, fromfront-end interfacestoback-end processinganddata management. Here’s a structured approach to building an end-to-end solution:Define RequirementsA. Business RequirementsEngage with stakeholders to understand business objectives业务目的, goals(目标), and constraints约束.Document functional requirements, user stories, and use cases.B. Technical RequirementsDefine non-functional requirements, such as performance, scalability扩展性, security, and compliance合规性Identify technology stack, integration points, and data flow requirements.Design the ArchitectureA. High-Level Architecture概要设计Create an architectural diagram outlining major components and their interactions创建架构图概述主要组件及其相互作用.Identify front-end, back-end, data storage, and external integration points.B. Detailed DesignBreak down each component into detailed design specifications, including data models, APIs, user interfaces, and business logic.Define interfaces and protocols for communication between components (e.g., REST, gRPC, messaging queues).C. Microservices Architecture (if applicable)Design microservices with clear boundaries, focusing on single responsibility and loose coupling.Define service contracts and APIs for each microservice.Plan for service discovery, load balancing, and inter-service communication.Implement the SolutionA. Front-End DevelopmentDevelop user interfaces using web technologies (e.g., HTML, CSS, JavaScript) or mobile technologies (e.g., Swift, Kotlinandroid,ReactNative,flutter).Use frameworks like React, Angular, or Vue.js for web applications.Implement responsive design and accessibility standards.B. Back-End DevelopmentImplement back-end services and APIs using server-side technologies (e.g., Java,springcloud、redis,mysql, aws, Python, Node.js).Develop business logic, data processing, and integration with external services.Ensure proper error handling, logging, and monitoring.C. Database and StorageDesign and implement the database schema (e.g., SQL, NoSQL,S3) based on data models. (数据库选型和数据建模)Ensure data normalization规范化, indexing, and optimization for performance性能优化.Implement data access layers and ORM (Object-Relational Mapping) frameworks if necessary.D. Integration and APIsDevelop and test APIs for integration with third-party services or other internal systems.开发与测试集成的三方服务或内部系统Ensure secure and efficient data exchange using appropriate authentication and authorization mechanisms (e.g., OAuth, JWT). AWS IAMImplement API gateways and management tools for traffic control and monitoring.Ensure Quality and ReliabilityA. TestingImplement unit tests, integration tests, and end-to-end tests to ensure functionality and performance. pressure tests (压测)Use automated testing frameworks (e.g., JUnit, Selenium, Postman) to streamline the testing process.Conduct user acceptance testing (UAT) with stakeholders to validate requirements. 与关系人进行用户验收测试去验证需求B. Performance OptimizationConduct performance testing and profiling分析 to identify识别 and resolve bottlenecks.Optimize code, database queries, and infrastructure configurations for efficiency.Implement caching strategies (e.g., Redis, Memcached) to reduce latency.Deployment and OperationsA. Continuous Integration and Continuous Deployment (CI/CD)Set up CI/CD pipelines using tools like Jenkins, GitLab CI, or CircleCI. git-github-jenkins-sonar-build-push到云环境eks pod中Automate build, test, and deployment processes to ensure rapid and reliable releases.Implement infrastructure-as-code (IaC) using tools like Terraform or CloudFormation.B. Cloud and ContainerizationDeploy services using containerization technologies (e.g., Docker, Kubernetes).Use cloud platforms (e.g., AWS, Azure, Google Cloud) for scalable and managed infrastructure.Implement autoscaling and load balancing to handle variable traffic.C. Monitoring and LoggingImplement monitoring and alerting using tools like Prometheus, Grafana, or ELK Stack (Elasticsearch, Logstash, Kibana). splunk,appdynamicsCollect and analyze logs for troubleshooting and performance insights.Set up alerts for critical metrics and incidents to ensure rapid response. (slack/teams/dingtalk/wechat/sms/email)Security and Compliance合规性A. Security Best PracticesImplement secure coding practices and conduct regular security reviews. 安全编码最佳实践编码规范jacco,soar, 定期进行安全检查和漏洞扫描Use encryption for data at rest (静态的)and in transit.对静态数据和传输中的数据使用加密。Ensure proper authentication and authorization mechanisms are in place.B. Compliance and Data Privacy合规性和数据隐私Adhere to relevant compliance standards (e.g., GDPR, HIPAA) and industry regulations. 国际区域数据监管政策对数据进行分级处理Implement data privacy measures, including data anonymization匿名化 and consent management.Conduct regular audits and vulnerability assessments.脆弱性评估Documentation and TrainingDocument the architecture, design decisions, APIs, and usage instructions.记录架构、设计决策、API 和使用说明。Create user guides and technical documentation for developers and stakeholders.Provide training sessions and support for users and maintenance teams.Continuous ImprovementGather feedback from users and stakeholders to identify areas for improvement.Implement iterative enhancements and new features based on feedback and evolving requirements.Regularly review and update the system to incorporate纳入 new technologies and best practices.By following these steps, you can build a robust, scalable, and maintainable end-to-end solution that meets business requirements and provides a high-quality user experience.4.参考资料技术面试手册https://www.techinterviewhandbook.org/software-engineering-interview-guide/英文面试常见问题https://www.bilibili.com/video/BV1vA4y1Q7Hh/?spm_id_from333.788vd_source51c993d69874e13d552c1b91dbf90aec
返回列表