先说下楼主经验:
其实我之前曾经写过一篇对于本人 秋招
经验的文章了,外面有很多面试题,能够作为参考:
往年行情这么差,到底如何进大厂?
上面从新介绍一下本人:
我集体是双非本,去年五月份至今始终在 JD 实习,拿到了 JD 的 offer 后,偶尔的机会(boss 上)就开始面试
部门是百度云 cdn 具体如同是做音视频相干的,次要语言是 Java 和我自己相符
一、二、三面两天面完,具体的问题记不清楚了,以下内容仅凭回顾(下班摸鱼写的):
注释
一面面经:2021/1/21 下午五点
是个小姐姐,然而很庄重
- 自我介绍
- 介绍实习我的项目、难点、参加的工作
- 我的项目用到的设计模式以及其余设计模式
- syn 锁(降级过程、降级?(读写锁)一些底层原理)
- 操作系统线程间同步机制
- syn 和 lock 区别
- 线程池、参数详解?你怎么设置参数(I/O 密集型、计算密集型)
- JVM 内存区域
- 如何排查一下线上 OOM 问题?
- 类加载机制?
- 双亲委派?tomcat 如何突破的?
- 写代码 1 翻转链表(秒)2 手写快排序 介绍各个排序算法工夫复杂度
- 在看的书籍?常识?《深刻了解 Java 虚拟机》说下最粗浅的局部?我说了个 R 大写的 JVM 是如何辨别出是援用类型还是根本类型
- 反诘 大概 47 min
二面:2020/1/22 上午十一点
HR 说的是一个高 T 二面面试我,果不其然,一个秃头大叔。
- 自我介绍
- 介绍京东实习我的项目
- 我的项目分布式锁怎么用的?主从的缓存 master 节点 down 了怎么办?(Redlock)
- 脑裂问题(配置文件)、数据歪斜(一致性哈希,虚构节点)、数据分片
- 缓存穿透、击穿、雪崩
- Redis 哨兵?cluster?
- zset 底层,为什么用压缩列表(防止内存碎片),跳表查问复杂度?log(n)(逮住 Redis 真就往死里问啊)
- 看你博客里有微服务,讲讲微服务、分布式?
- 我的项目中各个服务之间怎么调用的?我说用 JSF(JSF 是京东外部的 RPC 通信工具,相似于 dubbo)
- 分布式 CAP 定理
- 讲讲分布式事务解决方案,各自优缺点(心田。。。还好前几天看过)
- 写题 遗记具体是啥了 反正都是属于 easy 的题目,大概 50+min
还有一些回顾不起来了,如同是 Spring 源码的货色,电脑面试没有录音,总之抠得很细,面试官果然是个大佬。。。
三面 2020/1/22 早晨八点半
- 介绍本人
- 两个栈实现一个队列
- 基本上就是一些非技术问题,唠家常、谈现实、问 offer
- 可能是我比拟能 bb 三面约 1 h 15min
十分钟 HR 分割微信分割说过了,让我等接下来的补口试、测评邮件
1/26 下午收到邮件做完后 HR 叫我安心期待,最迟周五给发 offer。
lz 从去年二月份开始春招找实习,(双非本科学历)到当初差不多过来了一年。大大小小的面试也经验过了不少,也相应的拿了一些公司的 offer,上面是我的一些个人见解加上别的大佬的一些参考,心愿能抛砖引玉,如有瑕疵,还请多多指教!
我认为的面试 = 根底 + 能力 + 布局以及一些面试技巧
其实也就是对应着一个人的:过来(学过的常识)、当初(领有的能力)、将来(布局)
根底
这个就很简略了比方
- 最根本的数据结构、算法;
- 以 Java 为例的一些基础知识:JVM、汇合、框架;
- 计算机操作系统、计算机网络;
- 通用的一些中间件:netty、nginx、redis、MySQL 等。
这些是基本上都要晓得的,尤其是一些面试常问的必须要数量把握,只管有人认为这是背书,然而连背书都不背的阐明态度有问题,必定是不是被公司承受的。
当然以上说的太抽象了,具体的温习路线能够参考其余大佬的作品,如不厌弃能够看一下我写过的一些博客 https://blog.csdn.net/weixin_44104367 本文只做一些面试教训相干的总结、概述。
能力
这方面次要是围绕实习、我的项目来开展的基本上 = 技术硬实力 + 能力软实力。
比方:有实习的
- 在实习期间做了哪些事可能证实本人的能力
- 如何在开发过程中优雅的书写代码?(其实一些常识譬如设计模式大家都会背,然而可能真正将这个常识落到实地的又有几个呢?
- 我的项目开发过程中如何一步步晋升本人的技术能力、业务水平?
- 如何疾速的了解业务?适应环境?
- 对于实习 OR 我的项目的思考总结?
要明确一点:工作了的人很喜爱问一些 case,尤其是一些领导特地喜爱问,哪怕这个我的项目技术再牛,那么它是如何落地的呢?他的场景是什么?为了解决什么问题?应用了什么办法 OR 工具?达到的成果如何?最终能满足预期吗?
比方大家都会背一些 Spring 源码,设计模式,然而能本人将这二者联合起来吗?比方联合 Spring 源码 + 设计模式开发?(这篇文章就是个例子 淘系技术部的 https://mp.weixin.qq.com/s/94oe5c_7ouE1GbyiPfNg5g)
对面试官而言,他们曾经听吐了这些背的货色,如果本人能讲的让面试官眼前一亮,那么即时面试问题答复的不太好 最起码也能证实本人 对于技术是有谋求、有思考的,而不是一个背题机器。
对于一个技术而言,它在这个公司存在的意义就是为了一些变现业务服务 技术服务于业务,用业务发明价值。
集体认为学生状态过渡到工作状态就是实践转化为实际能源的过程 有些人总感觉校招生身上有一股 书生气
大略就是:实践的货色多而童稚,有些不切实际的想法,能不能落地呢?
布局
这点其实发现面试总结外面很少有人去谈,然而看到脉脉上,十个 HR,九个都会喜爱听到候选人这方面的一些思考、总结。
路线布局
举个例子比方:会不会提前去布局本人的人生路线?
这是从网上找的一张图,能够看到有很多路线,到底哪一条适宜本人?可能很多人压根没思考过这个问题?另外本人适宜哪一行呢?教育?广告?地图?还是纯技术?
隔行如隔山,因为我从去年五月份就来实习,也换过俩部门,所以对于这些事件比其他人要粗浅一些。
只有分明晓得本人喜爱的才有能源去做好他 不喜爱的只是为了生存被动的产出。
不是所有人都适宜做纯技术、也有的人压根就不适宜搞业务,到底那条大路通向本人心中的罗马,只有本人分明
而这些事很多人都这么回复的:先有了工作再说。
看过很多人 尤其是 90 后工作半年跳槽、一年的也有。反正给我的感觉就是:不虚浮
。对于公司而言就是不虔诚:谁能保障你从上一家公司跳又无能多长时间又跳走了呢?公司造就一个人的代价又有谁去承当呢?
在一个公司呆够超过五年 最起码能够阐明这个人在这个行业、公司站住脚了。
有的人入职当前才发现自己不太适宜这个行业、这个方向,于是就跳槽,简历就花了。
简历一花,找工作就更不好找。别的公司不晓得,JD 这边有的部门五二准则卡的很严格(五年内只在两家公司工作过,也就是说均匀一家公司至多工作两年工夫 https://www.jianshu.com/p/ac8f28f58e11)
这还是主要,更重要的是本人能确保这个新的方向就本人适宜或者喜爱吗?于是又开始跳、跳、跳。
人生往往是一步错、步步错。
他人曾经在本人适合的方向上工作很久了 而你还在思考本人要做什么。
男怕入错行,女怕嫁错郎,说的大略就是这个意思。
工夫布局
大家都晓得程序猿 35 是一道坎,到时候要么转治理,要么成为 CTO,本人对于本人的成长路线是一个什么布局呢?
治理路线:三年可能解决日常开发当中的任何问题;五年可能在技术上达到本人一个比拟现实的状态;七年可能成为小组 leader;十年可能成为部门 leader
技术路线:三年够在技术上可能有较大晋升;五年成为架构师;七年成为资深架构;十年成为总监等。
可能表白出这些,最起码可能阐明本人 比拟虚浮,是一个有布局、有思维的人。
面试教训
对于面试教训这块真的就只能实战找感觉了,每个人都有本人的一个表达方式,不过套路都是差不太多:
取长补短
像楼主自己学校不好然而始终在 JD 实习,那么自我介绍的时候能够说本人实习工夫比拟长等。
学校比拟好然而导师不放实习的能够着重说下本人的学校经验,paper、比赛状况,都没有的能够说可能凸显本人能力的中央
适当的往本人会的方向疏导面试官
有的面试官会本人电脑前放一个题库,然而大部分不会,会依据简历上,本人脑海中搜寻问题。
比方问你 MySQL 调优,本人晓得那些就说哪些,比方你晓得索引这块哪些本人晓得原理就说那些:(is null 判断可能会导致放弃索引、尽量避免应用判断等)再往下往往会问原理,因为你晓得最左前缀准则、MySQL 优化器的索引代价剖析、抉择过程,你就能够轻松答复上来。
然而你不太懂索引相干的原理就不要胡说八道,瞎往本人不善于的畛域疏导面试官,能够从设计规范方面谈起(应用 varchar 而不是 char 等等)因为面试官个别会问:为什么?本人在学习常识的过程中也要常常问本人一句:为什么?比方都晓得函数表达式操作会导致索引生效,那么原理呢?
面试充斥了不确定性
你又不是 RMB 不会所有人都喜爱你。
这个恐怕很多人是深有体会:我面试面的挺好的啊,问题都答复上来了,怎么还是挂了?放宽心态,该佛系的时候佛系一点啦。
面试充斥了不确定性,能和面试官聊得来,即使问题答复的不怎么样,面试官也会放你一马。
有的人跟面试官聊不来,甚至面试过程中产生了争执,那必定就是不给过了呗。
面试是一个双向选择的过程
你被面试官面试的时候其实你也在考量这个部门、这个面试官技术水平、人品以及是否违心疏导新人等。
个别面试本人的都会和本人入职后的工作关系是在一起的,个别是本人的共事、直属领导。
如果面试官为人和善、违心疏导你解答出问题来,那么入职之后你的成长速度也会更快的。
如果面试官技术问题问的很含糊其辞,不够业余,那么面试多了你也会感触进去。
你不是非我不要,我也不是非你们部门、公司不选,面试就是一个双向选择的过程。
烂大巷的我的项目尽量不要写
秒杀零碎、商城零碎。
起因本人领会 懂得都懂
学历差的自信一点
牛客上意识了很多盆友,大家的学历大多数都比我这个双非渣本菜鸡学历高得多,这也不是意味着学历差就肯定不行,我这不是也上岸了百度、京东了么。
衷心告诫 22 届及当前毕业学历较差的盆友,学历差不代表所有。
但正是因为学历的问题,就须要咱们比他人付出更多,他人不会的能够通过学校、paper 补过去,然而咱们赤贫如洗只能冲。
的确像 bat 这大厂对于学历的要求不是特地高(某东除外,很多部门明确要求学历 211 及以上)
PS
都在问啥我的项目比拟好,我从集体角度谈一下:有实习的话必定是公司的我的项目比拟好 无论是体量还是业余水平
没实习的话能够做个:仿造 dubbo、netty、tomcat、简略的 ioc 容器啦 或者一些实实在在能落地的我的项目,因为一个我的项目落没落地面试官一问就晓得。
前者会更好的走完一个底层的流程,从原理搞懂这些中间件,会比间接背书强。
真正走完一个流程的我的项目远远优于那些网上的我的项目 没有理论的背景 那些开发中的状况面试官一问就破(以上为个人观点)
以上内容纯手打,囿于楼主自己的认知阶层,目前临时总结了这么些,算是回馈一下牛客吧 心愿 22 届及当前的同学们看到这篇帖子可能有所启发,写的不好多多包涵!
另外,增加我的微信 becomecxuan,退出每日一题群,每天一道面试题分享,更多内容请参见我的 Github,成为最好的 bestJavaer,曾经收录此篇文章,详情见原文链接。
我本人肝了六本 PDF,微信搜寻「程序员 cxuan」关注公众号后,在后盾回复 cxuan,支付全副 PDF,这些 PDF 如下
六本 PDF 链接