大家都知道程序员涨薪主要还是要靠跳槽来完成!但是我们都知道,无论是考试,还是求职,这个难度,参加人数是影响难度的一个很大因数,最近和不少出去面试的朋友闲聊,都发现,两年前面试高级开发,会JUC、JVM相关的知识点都是加分项,现在反而成了基本要求,不会这些,面试都是被吊起来打!
哎~~也不想多说什么了,说多都是泪。下面是我这两个月以来去几个厂子面试的经历总结。有兴趣的可以观摩下。
一面 9月15号 40分钟左右 四点面试结果三点半电话通知可以上线面试了
聊了聊实习期间做的项目
进程间的通讯方式
操作系统的虚拟内存
因为实习是做android的,聊了两道android的问题
两道算法:
1.判断IPV4地址的合法性
2.leetcode上原题根据身高体重对数组进行重新排序
二面 9月17号 40分钟左右 五点面试结果五点十五才开始
聊了聊实习做的项目25分钟左右
leetcode上原题:例如:3[ab2[cd]]还原为abcdcdabcdcdabcdcd
例如 2[a3[d]]还原为 adddaddd
反问问了问部门做什么的
三面 9月18号 15分钟左右 三点面试结果2点40电话通知可以面试了
十分钟介绍了下实习做的项目,有什么难点,怎么去解决,有什么收获
为什么今年华为遇到危机还是选择要加入华为(谨慎回答)
反问:问了问华为入职的培养,又问了一遍组里做的内容
两点体会:1.华为面试是不按照邮件约定时间面试的,有可能提早半个小时,也有可能临时推迟,建议前后空出一个小时时间
2.华为的三面业务主管面似乎只是走流程的,一面和二面结果可能会对三面有很大影响(一面二面刷人很少),网上看好多人好像都挂在主管面上。
一面 JVM数据存储模型,新生代、年老代的构造? java GC算法,什么时候会触发minor gc,什么时候会触发full gc? GC 可达性分析中哪些算是GC ROOT? 你熟悉的JVM调优参数,使用过哪些调优工具? Java 有什么锁类型? 描述下线程池的处理流程? 类加载机制,一个类加载到虚拟机中一共有几个步骤,这些步骤的顺序哪些是固定的,哪些是不固定的,为什么不固定 hashmap是线程不安全的,concurrenthashmap是线程安全的,怎么实现的线程安全? volatile关键字解决了什么问题,实现原理是什么 并发容器有哪些,并发容器和同步容器的区别
二面 在工作中,SQL语句的优化和注意的事项 哪些库或者框架用到NIO Spring 都有哪几种注入方式,什么情况下用哪种,ioc实现原理 如何定位一个慢查询,一个服务有多条SQL你怎么快速定位 聚集索引和非聚集索引知道吗?什么情况用聚集索引什么情况用非聚集索引 Nosql引擎用的什么存储结构,关系型数据库和NoSQL各自的优劣点是什么,如何技术选型? 微服务架构下,如果有一个订单系统,一个库存系统,怎么保证事务? 分布式一致性协议raft,paxos 了解吗 Zookeeper中的ZAB协议,选主算法
三面 自我介绍 参与的并发项目,从设计到部署,按照流程讲一遍。 项目相关你用过redis,用在什么场景,怎么使用的? mysql同步机制原理,有哪几种同步方法 数据库主从同步如何实现,事务如何实现 谈谈你对SOA和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。 阿里系中间件metaQ及原理与现有的kafka有什么异同 在阿里有了解过什么中间件吗?实现原理?与其他开源消息队列有什么特点? 为什么选择换公司? 三年到五年的职业规划? 你有想问我的?
(面试经验+刷题思路)大家需要的话可以微信扫描下方二维码免费获取:暗号-【】免费获取。
中信银行一个小时就把所有面试流程走完了,问的都很简单。内部福利也很高,而且一线城市硕士年薪能26W+,但是他家后面流程比较慢,是全国统一面试的,要等其它几个站面完后再内部统一审核给结果(说是要11月中下旬了),我估计开奖前应该都签约其它的了,看后面情况。
一面
自我介绍以往项目介绍数据库调优高并发Java异常体系结构RedisSpringBoot启动原理SpringCloud理解二面
自我介绍JVM多线程在实际开发中的应用Mysql架构Linux常用命令最近在看的架构方面的书还有什么记不清了,没太深问技术三面(HR面)
问对他们公司的了解为什么想做偏金融方面的开发是否有亲戚或认识人在中信未来职业规划等等。。。按常例还是来求一个吧,希望一切顺利万事逐宜,加油加油!
上来就对项目 ,只怪当初准备 项目的时候过于唐突,项目是烂大街的牛客高级社区 项目
1、你的点赞是用 redis来实现的,为什么用 redis不用mysql?
2、redis AOF模式,appendfsync always 就不会存在数据丢失?
3、什么时候会触发Full GC?
4、对一个对象进行补发访问,会存在什么问题?
回答比如++i只会加一次的问题,面试官不太满意、接着说了volatile
5、volatile实现的具体过程、如何保证可见性
6、ReenTrantLock 与 Synchronized的区别?
7、可重入是什么意思?
网络问题
8、TCP如何保证可靠传输?
9、滑动窗口怎么实现以及如何滑动?
10、路由器挂了,如何感知?
常规题
11、如果一个大文件,实现统计出现次数前100的数
hashmap来存储数字和次数,使用小顶堆来 排序
12、HashMap的查找复杂度
下午状态不好,说成了O(N)
总体来说,自己太菜,面试体验不佳
一面
自我介绍 mysql和redis分别用在什么场景下?
看过spring或者springboot的源码没有?
说一下springioc和springaop吧?
说一下JVM垃圾回收?
你就只做过这个项目吗?
mysql引擎知道哪一些?
为什么用kafka,对你的项目有什么作用?
为什么用kafka不用rabbitmq?
职业规划?
对加班怎么看?
对出差怎么看?
有男朋友吗?
对杭州房价怎么看?
二面
二面有两个面试官,就是项目+hr问题,技术官全程没问技术问题(不知道是不是技术官 🤣),整个面试过程氛围很轻松
ps:一面二面面试体验都蛮好的,面试官都很好,已收到恒生的offer 😁
1项目(大约4个问题)
5 说一说java基础吧,Java是面向对象的嘛,你能讲一下多态吗?
6 那多态里你说的指向实例,指的是什么,是父类还是子类,...出了个相关场景题,一直追问,不记得了
7 Java是值调用还是引用调用?为什么?具体说一下值调用、引用调用
8 String是基本数据类型还是引用类型,String是什么调用?它的引用有几个?他有哪些方法?追问
9 你了解数据库吗?如果我要查询一个表,表里有学号、姓名,通过姓名查找怎么加快查询速率,加索引,给什么字段加索引?
10 你知道哪些索引数据结构?B+,hash,为什么用B+,不用二叉树?为什么二叉树高就查询得慢?
11事务有什么作用?为什么要使用事务?
11算法题(说思路):从100个数里面找出5个最大的数
12 算法题:判断一个数是否是2^n,是为true,否的话为false
ps:感觉顺丰的面试官很懂技术,问的不多,但是每个点都会深入,整个面试氛围不会很紧张,就是像一起讨论一样,面试官很nice
以上这是总结了几个经典厂面试的面试题总结,还面试期其他厂子的,以上是比较经典的几家。像美团、挖财、百度这些也已经整理成PDF文档了,大家需要的话可以微信扫描下方二维码免费获取:暗号-【】免费获取。
面试流程
现在有不少公司先是人事面试,然后技术面试。所以在人事这块谈论工资的时候,最好不要说死,或者先不谈,留着技术面试过了之后再谈。有点因为在工资待遇这块没谈好,就直接走人了。毕竟面试双方都要花费不少时间,所以这块需注意!
在相谈的时候,要注意礼貌,无论是否成功,都应该注意言行和态度。
一般技术面试这块会先让做个自我介绍,这块应该充大学开始讲,不应过多,重点放在工作上和项目上。大学这块就简单介绍毕业学校、毕业时间以及所学专业。如果有关于IT之类的获奖,可以提一下,但不易多说。
项目这块,可能会提问为什么这么做,如果让你来重新设计,你回如何设计。在这个项目中的困难点是如何攻克的,在这个项目中学习到了那些等等。 在项目讲述这块,最好找面试官所感兴趣的项目,一般就是做过的项目和所招聘岗位较为符合的。
在面试结束之后,理应说声感谢!毕竟面试其实也是成长的一种。
一般来说,技术面试过了的话,基本也就过了。剩下的就看待遇相谈这块了。在待遇这块最好遵循自己的想法,不要因为当初没谈好,后来工作时心中不满,产生的一系列问题。
面试技巧
个人能力这方面无非两个方面,广度和深度。
技巧很简单,就是说自己擅长的。技术掌握广,但是不深,就可以将自己的技术广度多说点,顺便可以提下自己的优点 例如:学习新技术很快;技术掌握深,但是不广,就可以将掌握的深度多说点,可以提下自己在学习这块的专研度。如果在这两点都没有太明显的优点的,可以尝试从项目业务说,最好将项目吃透。
与面试官相谈的切记要诚实,不要弄虚作假。碰到不会的或者了解不深的,直接跳过,最好将面试官引导到自己擅长的领域。
面试总结
面试完之后,最好进行总结。毕竟每一次面试都是一次收获。如果将面试中所遇到的问题以及感悟能记下来,那就再好不过了。
在找工作的时候,除了做些相关面试和准备熟悉以前做的项目之外,还应该学习新的知识。毕竟,每多学一点,成功找到工作的机会就大一点。而且,IT这行,技术发展过于快速,如果没有学习新知识的动力,终究会被淘汰。
因为学习实在是很枯燥无味。学习是一个长期投资,短期很难道看到收益,而娱乐是一项短期投资,短时间便可以看到收益。所以学习这块最好可以给自己定一个目标,每天学习一点,慢慢的会达到的。如果没有动力的话,可以给自己设置奖励。这是可以激发学习的兴趣的。
还有一点,今天能坐完的事情,绝对不要留给明天。毕竟,人都是有惰性的。你要相信你自己,今天的你能做的没有做,明天的你也不会做的。
最后,祝在找工作的各位能找到自己心仪的公司!!!
如果你对生活感觉到了绝望,请不要气馁。因为这样只会让你更加绝望! 所谓的希望往往都是在绝望中萌发的,所以,请不要放弃希望!
在写简历这方面,需要下一定的功夫。毕竟简历就是你给别人的第一印象,而印象则决定你的面试机会。简历突出的就是一个简字,简历的制作不要过多,也不要过少。2-3页最好。
简历的三个重要点就是,我是谁、我要做什么、我能做什么。
第一点,个人的基本信息。
除了个人姓名、籍贯、现住地址等外,还需加上毕业学校、所学专业、工作时间等。重要的信息填上,无关的信息则少写或不写。例如身高、体重之类的。
第二点,求职意向。
这点很重要,可以的话,排版放在个人信息下面。求职意向主要就是期望工作的岗位、工作的地址以及薪资。工作岗位建议后面加个相关工作,可以少许提升面试机会。例如,java工程师及相关工作。薪资这块则建议填写面议,过高或着过低只会降低面试机会。
第三点,也就是HR最重视的一点,技术能力这块。
就写做掌握的技术以及相关熟练度,最好多用点技术关键字,毕竟不少的HR是按照关键字来搜索的。例如 JAVA、SQL、linux等。这点排版也建议放在求职意向下面。剩下的就是工作经历以及项目经验了。工作经历这块就不细说了。
重要的是项目经验。项目描述这块,个人建议,第一点,你要告诉别人,你的这个项目是做什么,为什么人群服务,怎么使用。不要过多的说明用了什么技术,用这些技术怎么开发项目。
这点大致提下就可,毕竟篇幅有限,使用技术这块和面试官相谈即可。第二点,项目负责开发的模块以及技术,这点需要让别人知道你在这个项目做了什么,用到了那些技术。第三点,项目业绩,这点看个人,如果不知道怎么写,可以写个人在项目学到了什么,或者碰到了那些问题,是如何解决的。
至于自我评价、获奖之类的,可以留在最后书写,写自己的真实情况,最好不要使用招聘网上的那种模版。
我这里已经做好了几分最新的面试模板,有需要的大家可以扫描下方的二维码免费获取;备注暗号 - [ ]
简历投递
投递简历这块这块看个人而定,智联、51、BOSS直聘、拉钩、猎聘这些还行,尤其是后三个,专门为IT行业服务的。可以多试试。
如果有内推的话更好。现在微信招聘之类的也不错,还有一些社区招聘之类的也可以多看看。
注意:如果面试收费之类的,这种就不用考虑了。在投简历的时候可以去看准网查查该公司的相关情况。
面试准备
在准备好简历之后,应该做些相关面试准备。
首先,是笔试题,这点是初级程序员绕不过去的坎。
笔试题一般的公司都会出的,除非你是大牛,可以选择不做。所以,还是老老实实的准备吧。
首先,基础相关面试题要做好。
一些JAVA相关的面试题型都有。还有在一些网站上面做面试题,例如牛客网和慕课网。
一些比较常见出现的问题,顺便列举下。
以上内容如果觉得还不过瘾,想要获取更多最新面试题分享,大家可以关注我的公众号-【Java烂猪皮】,里面有往期的面试题以及最新的面试分享,关注后回复:【666】即可免费获取更多的Java架构进阶vip学习资料