面试的一些技巧 - Jiajun的编程随想



面试的一些技巧 - Jiajun的编程随想

正所谓知己知彼,百战不殆。我们只需要弄清楚他们想要什么信息,那么我们就可以给出对应的信息即可。那么HR最关心什么信息呢?

  • 学历
  • 表达能力
  • 之前做什么的
  • 如果有"不正常"的经历,希望你能主动说明

所以,自我介绍的时候不要说自己喜欢打羽毛球或者游泳了,企业是雇你来干活的,不是让你来做运动教练的。事先准备好自我介绍,这样说的时候就不会卡顿,让HR觉得你的表达能力,不说好吧,最起码,不差。可以简略的介绍一下之前做什么,做过什么,什么职位,至于为什么离职,HR会问你的,不说也罢。如果有什么不正常的经历,可以主动说明。

当然,这并不是希望你利用"知己知彼"去骗HR或者怎样,诚实永远是第一位的。

举个例子:

我叫xxx,2016年毕业于xxx大学xxx专业。曾经任职于xxx公司担任xxx,完成了xxx功能,之后就职于xxx公司,担任了xxx,完成了 xxx功能。主要的兴趣在于高并发,平时也挺喜欢研究代码。这是我的一个基本的自我介绍。 

当然,实际自我介绍的时候,应当把这一段稍微扩充一下,显得更有内容一些。

怎么应对设计类面试题?

  • 请设计一个论坛
  • 请设计一个压测工具
  • 请设计一个xxx

"首先,我们需要一个数据库,数据库的架构是。。。" --- 面对此类问题,你是否直接就开始回答了?错!大错特错!此类题目最大的坑就在于这里 --- 题目太过于宽泛,你所假定的并不一定是面试官所假定的。

因此,回答此类问题的第一个要记住的的地方就是 --- 一定要确定好所有的条件再开始答题 。千万不能想都不想就开是自以为是的假定一切数据,然后开始答题。以第一个题目为例,你可以反问面试官:

  • 这是一个什么类型的论坛?
  • 大概有多少注册用户?
  • 高峰时期QPS大概是多少?

当你提出问题之后,面试官可能会回答你:

  • 这个论坛是一个讨论Go语言的论坛
  • 大概有10万用户
  • 高峰时期QPS大概在6k/s

那么根据经验,我们可以知道,如果直接用一般配置的关系型数据库来扛6k/s,还是有点小压力的,流量只要再往上蹭,很有可能就会挂。但是,目前来说,题目还是不够清晰,我们还需要把我们想要做的假定向面试官问清楚:

  • 通常来说,论坛都会是读远大于写的系统,这个论坛也是这样的对吗?

如果面试官回答是,那么我们所需要的一些基本数据便有了,我们需要设计一个论坛,这个论坛大概有10万用户,高峰时期QPS大概在6k/s,但是一个优秀的架构是可以轻松应对高峰时期的。相比最开始的题目"请设计一个论坛"是不是更清晰多了呢?这种时候我们再开始设计,把我们的设计从上往下(概述)讲述出来,先讲概况,再讲细节,最好能在白板上将架构图画出来。此外,建议平时多看看架构设计类的文章,例如StackOverflow的架构:https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/。

回答时再加上自己的见解和如此设计的理由,就完美了。

我该选择大公司还是小公司?

毕业后到现在一共经历了三家公司。第一家是创业公司,开发团队10人不到。第二家是大企业内部的创业团队,开发团队大约40人。现在是一家比较大的大公司,开发团队人数规模不便透露。可以说我把类似毕业后去小公司还是大公司的这些问题里各类答案都经历了一遍。

先抛出最想说明的观点:

  • 自驱力是技术人成长的不二法则。无论业务是To B或者To C,都会有一套对应的技术栈,如果只是满足于会用,是无法长久进步的。例如,使用Redis做缓存,就可以了解缓存的常见策略,了解Redis是怎么做持久化的,Redis提供的那些数据结构是怎么实现的,有哪些优缺点,何种时候用何种数据结构,Redis的协议为什么要这么设计,Redis里存储字符串是怎么存储的,和C的字符串存储方式有何差别,优劣在哪等等。

  • 经历一家To C产品的公司,是十分有意义的。做一款To C的产品,你可以获得:

    • 处理高并发的能力
    • 认识到用户体验的重要性
  • 最好能把小公司和大公司都体验一遍。

大公司和小公司的区别

接下来聊聊小公司和大公司的区别,优劣:

  • 大公司流程真的多,通常别人都会说大公司的流程很规范,其实我认为,相比规范所带来的好处,大公司的流程带来的更多的是效率的降低。可能你一个人3天就能做完的事情,经过一大波的流程之后,通常要两周甚至更多时间才能做完,你会不断的被阻塞。

  • 开会多不多只和管理层的想法有关。有的管理层认为多开会无益,那么整个团队就会将这种无益的东西降低到最少。反之则多,我任职的第一家公司开发不到10人,但是每天都可以开会。但是,在大公司你能遇到不开会的几率,不高。

  • 只要你能力突出,总是能获得比同龄人更高的薪资,但是如果管理层抠门的话,前面的话作废。有的公司认为员工应该获得该有的报酬,所以他们愿意付出给员工比市场价略高的薪资。有的公司则不一样,既想马儿跑得快,又想马儿不吃草。

  • 大公司能给你的增光,小公司做不到。除非你运气足够好,能蹭到一家爆发性增长的小公司。


Read full article from 面试的一些技巧 - Jiajun的编程随想


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts