最近在找工作,总结一下遇到的JD中的技术要求(以下为Soft Engineer/Full Stacker Engineer的JD汇总)
1. 前端:React居多,Vue,Angular
2. 后端:Java最多(SpringBoot就够用,要求SpringCloud较少;Mybatis的使用看起来不多?问Hibernate的比较多),Python其次,Go,C和C++有一些,然后就是PHP,NodeJS(TS),.NET,Rust的很少(很经常与区块链挂钩)
3. 数据库:关系型数据库用PostgreSQL和MySQL;非关系型数据库Mongodb,Redis要求少一点
4. 云计算:AWS最多(AWS lambda~), GCP, Azure
5. 其他:Git, Docker,k8s,nginx,Elastic-search
6. 项目管理:Jira, Trello, Notion(可能会问你有没有用过)
7. 移动端开发:flutter,安卓和IOS都有(专门移动端岗需求不大,可以说是很少,都是包在全栈身上)
8. UI&UX设计
9. 测试:前端测试jest(面试问)
10. 工具:WordPress等
香港的全栈工程师负责的很广,负责analyse user requirement,design,coding,testing,deployment...
目前感觉香港这边搞it还行,基本到点走人有时候还能居家摸鱼,压力主要还是看个人,如果自己不内耗,精神上会舒服很多,偶尔周末的话就回深圳充充电
要到香港做it方面的工作的话,是可以先申请下香港身份看看的,现在香港缺人的,一直在搞人才引进,搞技术的申请优才计划也会有加分,好像是80分就能达到条件,感兴趣可以看看https://a.d4t.cn/bzzDT7
感觉搞技术的,在香港没那么卷,可能也是大家都说它是it荒漠的原因吧,目前反正对技术人才挺看重。
——
更新,今天整理了自己面试时记录的问题,发这里分享给大家:
面试语言:基本英语,粤语,普通话也有比较少,告诉大家一个方法,其实面试前可以用AI辅助准备准备,多锻炼几次,就会流畅很多。
笔试:开发的笔试很少,量化基本都要笔试。
以下问题有些是基于我的简历项目问的,有些则是纯八股
- Java/Rust/Python语言特性
- 什么是多线程
- 为什么选择用Java框架开发这个项目
- Springboot中如何使用Hibernate?
- 如何学习Springboot?
- 什么是Duck typing
- 对SQL了解多少
- 对于数据库索引的理解是什么?它们的作用是什么?
- Redis是什么
- Elasticsearch是什么,说说工作中使用的场景。
- Docker是什么
- 什么是Race condition
- 授权认证登录之 Cookie、Session、Token、JWT
- Experience of public cloud/cloud computing
- What is MVC (Model, View, Controller)?
- How to provide Restful APIs?
- What is difference between REST API and RESTful API?
- How to deploy the project on server?/How to Run java project in servers?
- Do you have any realization about mobile development?
- UI设计: Have you created a fresh new page before you just followed the existing page?
- 什么是deadlock
- 说说OSI model
- Do you remember what data structure or algorithm you learned from?
- Blockchain的算法有哪些,技术有哪些
- Do you have any experience or what are your thoughts about the future of API?
- Do you know what open API specification is?
- How do you approach testing in your projects? Can you explain the -difference between unit tests and integration tests?
- Can you describe a complex technical problem you encountered in one of your projects and how you solved it?
- 敏捷开发 agile development
- To develop a project from scratch, what technologies and languages would you need or what skills a full stack developer should have?
- 什么是Pair Programming.
- 什么是 Long Polling.
- 测试,前后端测试框架
- 谈谈the benefits and drawbacks of using "use strict".
- How do you determine what an end user needs?
- How do you treat outlier values?
- Tell me how you’d debug an update.
- Design an implementation of an app