热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我的面试经历起伏

2019独角兽企业重金招聘Python工程师标准经过了慵懒的五一小长假,再次想起还有挖好的坑没有填。于是,回来再往这大坑中添点土。争取今年能有个有

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    经过了慵懒的五一小长假,再次想起还有挖好的坑没有填。于是,回来再往这大坑中添点土。

    争取今年能有个有始有终的博客系列。。。其实我还是想写点技术相关的,苦于最近真没有什么头绪。暂时先水着吧。

    直接进入正文吧。今天的主角是:网易、折800、雪球

    再次事先声明:此系列文章只代表个人观点,如果任何个人或团体对文章有疑问,请联系本人沟通,我会考虑修改。

    还有,禁止转载,禁止人肉

    网易:

        公司背景:

            不介绍了,他们老板养猪的,你们懂的。。。

        面试职位描述:

            资深Java后端开发工程师。网易基础架构部门。

        面试过程:

            笔试:

                网易的笔试题很全面,基础语法,数据库,算法,linux常用命令。

                是我见过的笔试题中最全面的一家。

                基础语法部分:选择题考的比较详细。finally和return的执行顺序都考到了。

                数据库:主要考了子查询、聚合函数和group by等。还问到了如何建立索引。

                算法:记不住了,貌似是写个快排。

                linux常用命令:涉及到cpu、内存、网络状态的查看。还有常用的日志内的搜索,比如cat + grep。基础+实用主义

            一面:

                技术面,

                自我介绍少不了了。

                面试官根据笔试内容提出一些问题,问为什么这样答。多数是针对答错了的问题乘胜追击。

                之后是针对之前做过的项目的提问。比如:红包项目是如何保证一致性和可靠性的。

                首先是介绍红包平台的服务架构和基本思路。此处是了解项目,考察在此项目的参与度,重点是挑项目中的问题

                红包项目基本是应用服务器向redis请求抽取红包,redis中用lua脚本进行红包的抽取计算,并保存操作结果队列。

                应用服务器将红包的抽取结果返回给客户端。并且通过异步线程(线程池维护)从redis中取出之前的操作结果,

                并写入mysql中进行持久化。

                由于redis的持久化和可靠性功能并不完全保证内存数据的不丢失。所以面试官根据此处提问,如何保证100%的可靠性。

                针对redis掉电crash,应用服务器掉电crash等情况提出了问题,如何保证操作不丢失。

                应用服务器的crash是通过redis里面的操作队列(List)中的数据时使用RPOPLPUSH这个命令将数据放在另外的队列里。

                如果应用服务器成功持久化,再删除这个队列的内容,否则再把此队列的内容回复到操作队列中。

                redis的crash是不可避免丢内存的东西的,因为我们的主redis是无法设置为aof模式的,太慢。

                所以,有个改进方案和替代方案。

                改进方案是:redis两个备机,一个延迟写入,保证备份的实时性,一个aof模式,保证备份的可靠性。

                替代方案是:使用kafka这样的带持久化和数据多份拷贝的消息中间件来存储操作队列。这样mysql加消息中间件中的所有数据就是整个的操作全集。可靠性问题能够保障。当然,如果机房在同一地理位置,还会有灾难性问题。可以多地机房解决。

                后面,后面就没有了。。。

            面试结果:

                未通过

            总结:

                1.互联网公司的鄙视链真心严重。开发人员跟我吹嘘他们的彩票系统保持了实时性和可靠性,我问他怎么做的,用了哪些中间件,什么架构。他支支吾吾。。。奶奶个腿啊!!!!

                2.网易的笔试题是我见到的最全面的笔试题,涉猎范围很广。而且考基础的时候靠的比较精细。linux的实用命令也出的很好。

                3.网易这种公司可能对实时性和可靠性要求都很高。所以可能需要多多针对分布式、实时性、可靠性准备。

                4.基础一定要打牢,因为细节最能看出一个人的能力。大牛也是非常注重细节的一帮人呢啊。

                5.互联网的大公司的大公司病可能已经有一些了。对于有能力的人的筛选上,其实先入为主很不好(当然,不是说我的能力匹配的上网易)

    

    折800:

        公司背景:

            团购系的门户,半死不活的状态吧。

        职位描述:

            后台Java高级开发工程师

        面试过程:

            笔试:

                笔试卷子非常简单,甚至卷子题目就是校园招聘开发工程师笔试,当然被涂黑了,我是看阴影看出来的。

                而且跟考在校生差不多,填空题都是些理论概念题。比如:线程有多少种状态

            一面:

                无。让我在会议室内等了1个半小时,然后说面试官开会,今天不能来。

                我只能呵呵。

            面试结果:

                就算通过了我也不去!

            总结:

                1.没什么可总结的。这样看,这样的公司半死不拉活也就有原因了。

    雪球:

        公司背景:

            移动股票类垂直社交性APP。公司貌似背景深厚,你们懂的。

        职位描述:

            高级开发工程师,后端架构方向

        面试过程:

            笔试:

                无

            一面:

                貌似是一个高开的人员,

                开场貌似统一是自我介绍,

                简单的问了Redis的持久化方式的配置。

                然后针对之前的工作问一系列的问题,IM服务器是什么情况,如何保持长连接。

                各系统之间的调用使用什么方式。

                整体的产品架构,各个服务器都是扮演什么角色。

                对红包平台比较感兴趣,让我详细的讲解了产品的架构和实现。

            二面:

                技术总监,上面直接跟CEO汇报,很扁平,不错。

                再次自我介绍。

                介绍雪球的情况,雪球如何运作,理念。

                不好意思,我都没记住。

                然后是问公司平台的架构。

                我简单画了一下,他的评价是是个简单而且小规模的平台。

                当然,这点见仁见智了。。我也没说啥。

                然后提出聊聊红包的设计。

                一面怎么说,二面就怎么说吧。

                但是有个非常明显的问题,在我说的过程中,很多架构和算法我都要跟他解释2-3遍。

                感觉他没跟着我的思路走下去。当然,也可能我讲的不好,不过一面是能跟上的。。。这点很诡异。

                然后是挑刺时间,如何保证一致性,可靠性。并发是不是还能再高点。

                给出了分布式Queue中间件的解决方案。表示还算满意。

                最后谈钱,直接谈崩。

        面试结果:

            没有结果。

        总结:

            1.一个互联网公司是要有一定的范儿的,雪球做的最好。办公环境很fasion。前台有投影实时的大盘变化。让人觉得很舒服,像是一个科技公司哦。

            2.对于自己做的事情一定要清晰,而且了解细节。面试官很容易问到细节。

            3.要有自信,强大的自信。对于自己做的事情不要持怀疑态度。坚定的信任。

            4.要善于调节面试节奏。比如薪资这种敏感问题,需要慢慢的从侧面了解对方的底线。不要过于直接。因为相互的预期一定是不匹配的。


    好吧,其实没什么干货。诸位看官凑合着看看。

    本系列之前的文章链接:

        1.我的面试经历--缘起


转:https://my.oschina.net/moishalo/blog/411098



推荐阅读
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 讨伐Java多线程与高并发——MQ篇
    本文是学习Java多线程与高并发知识时做的笔记。这部分内容比较多,按照内容分为5个部分:多线程基础篇JUC篇同步容器和并发容器篇线程池篇MQ篇本篇 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
author-avatar
专业长膘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有