手记

一份“热腾腾”的面经分享(写于拿到offer的24小时内)!

首先介绍一下我的面试经历,上周花了一周的时间,面试了5家公司,拿到两个offer,这篇面试分享是在拿到第二个offer的当天晚上写的。

由于时间相隔较短,所以面试大部分内容都记得,我就单刀直入直接写一下我的面试内容,写作水平一般,有点像记流水账,大家将就着看看。。。

面试过程还原:

一、360金融

360一上来就是做几页纸的题其中包括选择题20题和简述题9题,加上填表时间,一共给了我45分钟。

其中简述题主要有以下几个

  1. 写出最近项目中代码工程目录结构,简述各部份作用

  2. 如何避免对外开放接口被攻击,有哪些常用的防护手段可以用上?

  3. 描述线程池的作用,并写几个常用的线程池类

  4. 什么是操作的互斥性,接口幂等性如何保证?

  5. 异步通知交互补偿机制的目的和设计?实际工作当中有没有做过,踩过什么坑么?

  6. 描述一下TCP三次握手和四次握手地过程,查看TCP连接各状态用什么命令?

  7. 谈谈Threadlocal是如何解决并发安全的?

  8. Equals()方法与==的区别?重写equals方法的还需要重写哪些方法?为什么?

  9. 列举一个设计模式,用代码或者伪代码实现

45分钟后,准时过来收题了。

过了一会之后、进来了一位面试官、进行了技术上的面试。

  1. 谈谈你在项目中的角色,做出哪些贡献、项目的组织架构是怎么样的?公司有多少人?

  2. 给我画一画系统架构图

  3. 谈谈并发,谈谈分布式缓存

  4. 谈谈分布式事务

  5. 你在实际的工作当中有没有用到线程池?

  6. 谈一下你平时是如何设计系统的?系统是如何拆分的?要考虑哪些问题?

  7. 如何将一些热卖的商品推荐给用户的?

  8. 谈谈做过哪些系统优化?以你的实际经验和踩过的坑拿几个真实的案例出来说说?

面试结果:没有进入下一轮、直接回去等通知,挂掉。。。

  二、行云全球汇

1、这家公司就是HR一上来就谈了一些问题,比如你的职业规化、技术上有哪些短板、为什么要离开上家公司、跟上级领导性格不合怎么办、遇到技术问题出现僵持不下怎么办、以及问了一些其它的一些问题。

2、然后技术人员过来交谈了近一个半小时,谈的技术主要围绕简历上进行的。

  1. 谈谈分布式事务?

  2. 分布式缓存的一系列问题

  3. 你看过springboot源码,说说springboot的启动过程?

  4. beanfactory与factorybean的区别是什么?

  5. 有用过线程池吗?有哪些线程池?线程池里面有哪些核心参数?

  6. Jdk7与jdk8的区别

  7. 谈谈HashMap

  8. 有用过volatile吗

  9. springsecurity与shiro的区别、以及它们的使用场景?

  10. zuul网关Filter处理流程及异常处理

  11. eureka与zookeeper注册中心的区别?不用eureka可以吗?eureka已经停止维护了,有哪些替代方案?

  12. 现场手写遍历一棵树

  13. 在系统中如何做sql优化的? b+树和b-树有什么区别?

  14. mybatis中${}与#{}的区别?Statement与PreparedStatement的区别?

  15. mysql中的数据如何与es进行同步的?同步是否有延迟?

  16. 说下netty,你在实际的工作当中,哪里用到了netty?

  17. 分布式会话是如何实现的?

  18. Jvm中有哪些算法?

  19. 一个服务慢了你是怎么定位的?

3、然后就是管理者来谈了一些问题

主要问了就是你在项目中的角色、有没有带人、手下面有几个兄弟、以及未来的规化等。

4、再就是换了一个HR来谈了一些问题,过往的一些工作经历、 确定入职时间,谈薪等。

 面试结果:拿到offer

三、某千万级用户量的水果新零售公司

这家公司也是另外一家楼主拿到offer并最终选择去的公司

楼主选择的原因是公司流量和用户量都在千万级别以上,有较大的发展空间

另外,薪资是25K * 13,也比较满意,工作时间是双休5天7小时制,整体来说性价比还是很高。

下面说下这家公司的面试过程:

1、一上来就是研发副总监进行面试

  1. 自我介绍一下

  2. 你们系统的用户量有多大?日活多少?高峰时期qps有多大?

  3. 说说分布式事务,给我手画一下你们分布式事务是如何实现的?用了这个事务框架有没有遇到问题。

  4. Redis有哪些算法?给我描述一下。

  5. 给我画一下你们的系统架构图(然后进行了描述)

  6. 说说你们的系统为什么要用springcloud,不用dubbo?

  7. 说说dubbo?

  8. 说说zookeeper?

  9. 说下java的内存模型

  10. netty的线程模型是怎么样的?

  11. tomcat有哪几种 Connector运行模式?

  12. Spring提供了哪几种标准的事件、分别给我描述一下?

  13. mybatis 是否可以映射 Enum 枚举类?

  14. 给我描述一下springmvc的请求流程

  15. 说说分库分表有哪些方案,为什么选择了sharding-jdbc而没有选择Mycat,说说你们是按照什么规则进行分库的?分库分表之后是如何进行关联查询的?

  16. 说下jvm的运行时数据区?有哪些垃圾回收器?

  17. 有对mysql进行优化吗?是怎么优化的?

  18. 有用过流程引擎吗?说说Activitiy底层原理。

2、然后是总监上来谈了一会、主要谈了一些个人倾向与职业发展等问题

3、HR面谈、比较详细的问了过往的一些经历、谈薪、以及什么时候入职等。

四、其它2家小公司

此外,楼主还面试了其他两家小公司,问的东西相对来说都比较简单、最后都是因为双方不太匹配、最后没有谈成。

个人的一些面试体会

最后说一下我个人在面试中的一些体会,供大家参考。

第一个就是答题思路,这一块的话,当面试官问到某个问题的时候,我脑海里面就基本上呈现出一幅画面,加上一些文字性的记忆,然后可以一步步的说出来。

所以建议大家平时准备的时候,尽量对某个技术点多画图,画图理解,辅助记忆,个人感觉效果挺好的

另外,找工作面试是一个重要的环节,面很多试是一个身累心累的工程,在寻找到下一个理想下家之前,每一次感觉就要胜利,又每次掉回空中,不想要被折磨。

我觉得要学会总结,总结自己,总结公司,要先认识到自己的优缺点,硬件和软件,硬件专业技能,行业资源,从业经验,软件性格成长,情绪管理,精神状态,未来规划等。

关于offer选择的话,应尽量选择在自已期望范围之内的,包括薪水、工作氛围、技术、业务等、这样进去之后你才会做得开心。

这就是我的面经分享,希望可以帮到各位在准备面试或正在面试的朋友们。

END

石杉的架构笔记(id:shishan100)                       
作者:中华石杉,多年BAT架构经验倾囊相授 

29人推荐
随时随地看视频
慕课网APP

热门评论

我配不上你文章,我太菜了。?

我配不上你文章,我太菜了。?

想问一下这是几年的?应该是3-5年的吧?

查看全部评论