专栏 | 九章算法
网址 | www.jiuzhang.com
相比较于互联网类 tech 职位,金融类 tech 职位在人才选拔上有很多不同。比如:更注重communication / leadership等soft skills;轻技术面试,算法题不会太难,OOD主要考概念性问题;等等。因此,金融类 tech 职位特别适合转专业的童鞋。对于技术比较薄弱、技术经验不是特别丰富的童鞋来说,是一个好的起点。可以积累project & experience.
1.面试着装一定要正式
入乡随俗。金融类IT职位的面试,建议一定要穿西装、打领带,越正式越好。
2.communication/leadership 等 soft skills 非常重要
金融公司非常强调你的 communication skills。因此 HR 看简历的时候也会注重看你是否有把一个问题说清楚的能力。所以在写简历的时候,建议用bullet point 来表达,一点一点写清楚。另外,我给大家提供一个FPT的描述模板:
Features implemented, Problem solved, Technology used
建议大家都要按照这个模板来写,尽量地用tell a story的方法来描述你的experience,如你实现了什么功能,解决了什么问题,优化了哪些进程,运用了哪种技术。总的来说,就是你用技术实现了什么。
金融公司也很看重academic achievements,所以如果你有高的GPA,最好highlight出来。
此外,金融公司也看中你的其他 soft skills,所以在写简历和面试中都应当尽量表现中 : 如
Independence
Leadership
Problem-solving Skills
Communication
3.面试中如何充分地与面试官comunicate?
金融公司的面试一般包括以下三个方面
Resume-related Questions
Behavior Questions
Technical Questions
无论是哪一个方面,都需要你有效地与面试官沟通,体现良好的 Communication Skill, 特别是 Resume-related Questions 和 Behavior Questions.
Resume-related Questions 一般都会问和tech相关的。他们好奇的是你简历上堆砌的那些skills,你claim你会的技能,到底掌握到什么程度,有哪些相关经验。比如,你用Java做过什么?你在什么情景下运用Python,有没有相关的工作经验?之类的。他们还希望了解到你对技术的热情。你是那种只会按部就班通过上课学习的人,还是在课余做了很多side projects?参加过Hackthon没有,对技术在各行各业发挥的作用有没有了解。这里主要看出你对技术的热忱和自主性,独立性等。当然最重要的还是你的经验。其实一个很直接的问题就是,你写Java写了多久了。但是如果你刚学三个月,你可以承认,但是你当然不能强调这个。你的句式应该是,我用Java做了了XX游戏。我在业余时间开发了Android app来模拟各种股票交易的算法,用户可以通过我这个app来back test他们的交易策略。
Behavior Questions 可以用我总结的 CAR 模板来回答。
Challenge – Action – Result (CAR)
按照上述的陈述逻辑,tell a story. Behavior Questions 大概就那一些题,好好写一写,背一背,面试的时候说溜了就可以。九章有总结 《16个behavior question 的面试官解析及tips》,点击可阅读。
4.技术面试内容比较基础
技术面试绝大部分是数据结构和算法的考核。其中:
数据结构考点包括:ArrayList, LinkedList, Tree, Graph
算法考点包括:Merge/Quick Sort, BFS, DFS, Binary Search, Divide, and Conquer
这些基本在《Java入门与基础算法班》和《九章算法班》都会cover到。因为大部分的银行类金融 tech 职位都是用 Java,所以建议大家好好学习一下 Java 知识,以下是需要掌握的 Java 知识图谱,供大家参考:
金融公司特别强调对数据库的知识,会注重考查 Abstract Data Type 的掌握。
Coding 的题目都比较基本的算法题,但是需要你闭着眼睛就能写出来。如果你写不出来,也不要慌,可以问面试官要hints。其实你在他的提示下想出来,效果是很好的。甚至比你自己闭着眼睛写效果好。而且因为金融公司比较强调的一个技能就是,你不仅要写出来,你还要给别人说明白。因为没有人能包揽所有的技术,很多时候你要看别人的code,别人要看你的code,看代码肯定比说要来得慢,公司为了效率,肯定prefer能够一句话说明白你代码的人。
面向对象设计(Object-oriented Programming)也会考一点,但主要是概念的考核,比如,我面过的是:What are the 4 principle of OOD? 答案是:Encapsulation, Abstraction, Inheritance, Polymorphism. 可以简单扯一扯就可以。
下面举一些我面到的题目供大家参考:
概念题:
- BST VS HashTable:定义,特点,如何实现,分析complexity)
- LinkedList VS ArrayList:定义,特点,如何实现,比较,分析Complexity)
Coding 题:
- Print a binary tree in level order (BFS)
- Find all prime numbers between m and n
- Merge k sorted linked list (use of priority queue)
- Find intersections between two arrays. Follow-up: how to deal with duplicates?
推荐阅读
- 12 个 tips 教你搞定 onsite!
- 25 个 questions, 教你向面试官提问!
- 10 个 tips 教你搞定电面!
- 北美IT企业fulltime薪资大曝光
- IT 简历模板大放送 | 《如何写好技术简历》讲座精华总结
- 面试遇到做过的题怎么办?
- 冷冻期大揭秘 | Google、FB、Amazon、Linkedin冷冻期
- 面试前如何了解一家IT企业?试试官方技术博客!
- Google晋升机制 | 大公司如何升级打怪, 获得晋升?
欢迎关注我的微信公众号:九章算法(ninechapter)。
精英程序员交流社区,定期发布面试题、面试技巧、求职信息等
