面试准备

风流的黄瓜 2019-04-26 09:25:25
1.线程模型 ->JVM->MESI ->线程安全->多线程/线程池->AQS->性能优化 2.java基础->反射代理->设计模式->架构设计->微服务->分布式->一致性/CAP->HA设计 3.file->IO->NIO->linux I/O模型->netty 4.sql->模型设计->索引创建->索引原理->算法 5.高并发->分区->分库分表->缓存->MQ->高性能存储-->运维 最佳项目: 你投入最多 效果最好的一个项目经历,代表了个人的最高实战水平! 在面试过程中,最佳项目讲解及提问环节是少不了的节目,既然是代表个人最高水平的项目,面试官通常做法就是看思路,扣细节;而你的准备工作就是将项目的各个细节琢磨清楚,为什么选择方案A,方案的优劣点是什么,为什么选择这个技术,有没有更好的思路,未来期望做出什么水平,怎么达到等等。这些都是需要日常不断复盘,去思考积累的。如果在这个环节你感动不了我,那基本也就够呛了 数据指标: QPS TPS ,总数据量,压测场景,压测指标,以及在行业内的水平 项目介绍: 总体架构,核心功能,最具价值方案 what 是啥 why为什么选择这个方案 how如何更进一步 这些是在面试过程强有力的话题和论据,一定要严谨,同时对于这些数据如何进一步提升的思考,是个人最有利的加分项,也是很好的学习机会 跳槽------技术面试篇 1.自我介绍 2.聊项目 3.谈技术 自我介绍: 毕业院校,从业经历,主要罗列工作经历及主要做的事情,如果太多的话就挑几个突出的公司,每个经历控制在3句话介绍,一般总体3分钟内介绍完毕,不要太罗嗦,语速适中,态度温和。很多面试官见你的时候才拿到你的简历,这三分钟其实是给他看简历用的 技术面环节中,一般通过项目的一些技术点,引入到纯技术的面试环节,这种面试方式对于双方会比较舒服,更像一个热身运动,引导面试者进入状态。二愣子面试官,上来就是理论面试,完全不顾及面试者本身的情况,上来一顿操作,转身就被投诉了 聊项目: 也就是展示你的最佳项目经历,这个阶段,是面试官考察你对于项目的理解,投入,思考 ,技术方面侧重编码,设计等实战能力,个人认为实战价值大于理论水平 项目表述,首先先介绍一些项目背景,整体的架构设计,分为几个模块,自己负责那个模块,核心功能是什么,陈述完后,等待面试官的问题。有经验的面试官有自己的套路,比如直接抓重点,难点,疑点,或者问东问西,无关紧要的,冷不丁抛给你一个问题,让你懵逼,比如,你们的大概用户量多少,pv 多少 qps 多少,tps多少,服务架构。感觉都是很轻松的问题,突然问你,你觉得你们线上最大负载能承受多少或者你们的GC机制是那些,QPS怎么计算方式,通过日志还是第三方监控? 很多时候面试官致力于一些细节来求证你在项目中的价值和真伪,夸大的一些数据或者不懂装懂的的辨别方式就是,抠细节抠细节。因此对于简历中描述的项目数据实事求是,不要超出自己的能力范围!!! 项目数据包括,户量多少,pv 多少 qps 多少,tps多少 数据量,压测场景,压测数据,极限状态下的承载能力,自己是否管理团队,团队规模,坚持实事求是,避免给自己挖坑,然后又圆不回来!!!另外有些面试官的关注点比较奇怪(跟你前期的项目表述有关,使他的关注点偏离),比如项目的高并发是核心功能,他非要纠结登录安全的问题,这种情况,要适时的把他拉回来,把话题往自己优势的环节或者问题引导,比如,登录问题,我们使用XX技术解决,问题不大,主要是洪峰时间,高并发带来的压力给我们造成了很大的困扰,成功的转移注意力,引导其进入自己擅长的模块中来。 新鲜感,给面试官展示不一样的思路想法,可以让面试官更加开心,比如缓存击穿问题,常规做法,使用分布式锁或者线程block等待超时,那为什么一定要让缓存击穿风险存在呢,使用job定时更新缓存,所见及所得,缓存没有就是没有,实时性稍微差一点,考验避免很大的风险和成本。数据同步就非要在业务代码中进行么,碰到事务问题的时候,又要做出选择,或者一定要用job轮询的方式从一个地方复制到另外一个地方,采用binlog的同步方式可以不可以试一下(目前这个技术比较普及),这些操作会告诉面试官,人家是一个善于思考的好同学,跟那些背面试集锦的不一样。 面试官关注点:总体设计是怎样的,难点是什么,怎么解决的,为什么这么解决,有没有更好的方法解决,最后的成果是什么,你做了什么?是否足够有有价值 面试者关注点:阐述自己的大局观,发现问题的能力,解决问题的能力,技术功底,这就是我的价值,一个项目,聊的愉快的话,可以持续20分钟左右;另外没把握的不要往简历里面写,会被自己坑死 理论面试: 高并发场景,怎么解决的,添加了MQ,怎么使用的巴拉巴拉。说到了MQ,底层实现原理有哪些,如何避免消息堆积,如何保证有序性,事务型MQ如何显示的?ES的底层原理什么,与Lucene差别是啥,搜索算法是什么,文件结构是什么,评分算法是什么,深度分页怎么玩,大概罗列一下,常规的组合拳 线程模型 ->JVM/MESI ->线程安全->多线程/线程池->AQS->性能优化 java基础->反射代理->设计模式->架构设计->微服务->分布式->一致性/CAP->HA设计 file->IO->socket->NIO->netty sql->模型设计->索引创建->索引原理->算法 高并发->事务->性能优化->分开分表->缓存->MQ->高性能存储 从底层到应用层,架构层,来考察你的深度和广度,一般根据这个来定级别 其中还会涉及到一些场景模拟的问题,是考察你的积累,也是对你临场应对能力,分析能力考验,不排除一些场景,只有他们场景中才会发生,问题抛出来,让你一顿分析并解决 如果碰到不会的怎么办,很多面试官会问一些少见的问题,或者很刁钻的问题,这个时候,你可以思考一些,或者现场现场分析一下,如果自己做的话,会怎么去做。对错无所谓,主要是思路,比如微信的定位附近人,换做你,你会怎么做,当时给的思路是网格,后续没有确认是否合理(碰到过很多类似的奇奇怪怪的问题,没有记录下来,很可惜)。 如果碰到SB面试官怎么办? 请保持镇定,实在不爽,就靠技术来碾压他,碾压不了请躺下,毕竟咱们是有专业素养的,当然也可以中断面试,这类的面试官少见。面试过程中,让语速放慢,方便做笔记的了解下。面试官有很多款,严肃的,冷冰冰的,温和的,咋咋呼呼的,自谦的,不要太在意,面试官方式套路各有千秋,正常者居多,主要能在面试过程,最大程度的展示自己的价值,注意引导面试官的方向,基本完成任务。不会就是不会,想不到就想不到,不要死磕硬抗,对个人没有多大意义,倒是有点好笑。能做到这些,成不成就是靠缘分了 最后的技术环节是自由发挥阶段,可以展示一下自己的学习能力和潜力,比如自己造的轮子,作品, 其他领域,其他语言的眼镜,自己写的博客等,都能体现良好是自我驱动能力。这样的人是很多公司乐于接受培养的。 这里建议大家可以适当学一下自己的第二语言,比如js python go比较常用的,不单单可以扩展个人的视野,解决问题的思路,在面试过程中也是不错的谈资,本人第二语言是 js 和python pl/sql现在用的少了,会尝试做很多有趣的事情 每次的面试经历都可以记录下,有意思的问题,面试官的一些建议,平时多记录工作中的问题,是良好的,比如我,很多有意思的问题都忘掉了 非技术环节: 团队管理,工作流程,发布流程 测试流程,运维方法,这种送分题,不要丢掉 稀奇古怪的问题 给自己的技术打个分 然后告诉我为什么(这是面试一个挺大公司的最后一面,对方是CTO,全程在听他授课,好尴尬) 2+3 在计算机里面的运行过程(前缀后缀算法) 最近读的什么书 (灌篮高手) 说服我为什么录用你 (帅) 欢迎大家补充!!!!! 反问阶段: 技术团队规模,如果有幸进来,会做哪一块,说一下自己的预期,偏业务,偏技术,是否与自己的预期相契合,跳槽是一个对等公平的选择,不需要迁就。 面试------HR篇 面对HR,秘诀就是价值观要正,永远站在公司角度考虑问题,这样的HR小姐姐最喜欢了, 他们主要看的是个人的价值观,是不是适合公司要求,工作状态,精神状态是否稳定,太自我的不要,格局太低的不要,弄虚作假的不要 为啥跳槽? 官方说辞 公司发展不好,公司不发工资,公司不符合个人发展规划,个人发展瓶颈啊,千万不要说工资太低,领导太差,公司太挫 格局太低,会被抓住问死的 跳槽这么频繁的原因 对于太频繁的,一定要想好,每次跳槽的官方说法, 职业规划? 官方说法,一步一步往上爬, 对下份工作的预期 主要表明自己对于薪资,空间,方向的预期,这个要看自己的真实想法,不要太谦虚。最后不要忘了+一句,希望可以与公司共同发展的,长期合作 谈个人 优缺点,尽量和工作有关,不要扯其他的 优点:工作认真负责,经验丰富, 学习能力强,好相处 缺点,某某方面需要提高,团队管理需要提高,缺少大项目的经验 千万不要说涉及到真实的性格问题,有脚气,脾气不好,好吃懒作,会很尴尬,因为这个操作HR 肯定根本没见过 谈薪资 一般不提倡平薪,除非平台良好,岗位有诱惑力,符合自己的最大利益化,否则免谈(19年可以不一定,据了解平薪居多),正常涨幅在总包(基本+年终奖)20-30%,看个人基数,行业同龄水平,技术面试表现,不要漫天要价,也不要让自己吃亏,无数的经历告诉我,对公司手软,公司连个微笑都懒得给。报给HR时,给一个期望薪资,较高的,因为不管怎么样,都会习惯性砍一下,神如食堂大妈,除非他们要不起!!!!谈薪资之前,一定要问清 工资结构,是否避税,基数多少,五险一金基数多少,当心被宰,去年的平均年终奖多少,其他福利有啥,目前公司的发展情况,盈利情况,规模,也是可以和HR聊一下 总结,跳槽是一个脑力活,需要持续的思考和运营,从准备阶段到奔赴战场,都要有良好的规划,明确好每次跳槽的目的,不断提供自己的筹码是成功的一二法门。以上是哎呀面试过程中总结的诸多经验,希望对大家有所帮助
...全文
31 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,405

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧