精神小伙,开发三年,四面华为,豪横迈进华为
说在前面(随便聊聊)
个人简介:双一本科毕业,3年+后台开发经验
今年受疫情的影响,大环境都比较差,很多公司不是裁员就是倒闭,还有的就是卑微的生存着。今年的金三银四已经是指望不上了,大多数能有岗位提供就很不错了。
现在到了4月份,中国的疫情逐渐稳住了,剩下老美在保持强大。很多人正好利用疫情期间在家闭关修炼准备在春暖花开时跳槽拿高薪(我也不例外了),在家闭关期间疯狂给自己充电,到处找资料学习、刷题不断,只为了能进大厂提升自己的技术拿到更好的福利待遇。
为什么选择华为?
其实选择华为的理由很简单,因为华为现在在国际上越来越站得住脚了,虽然国外很多人抵制华为,但还是有越来越多的声音支持华为。(在此指的是华为5G技术而非手机)我个人还是希望华为能在世界的舞台有足够的重量的,于是也选择了华为。(于我而言,大厂的福利待遇不会差到哪里去)
华为一面
1、说一说mysql的mvcc
2、Java中==、 equals与hashCode的区别和联系
3、对面向对象的理解
4、索引加的太多会怎么样
5、zooKeeper在哪里用,用来做什么
6、java并发实现的机制
7、谈一谈hashset的实现
华为二面
1、mysql存储引擎,区别
2、redis持久化方式,原理,效率,区别
3、垃圾收集器与内存分配策略
4、怎么判断是垃圾,可达性分析法,源头是什么
5、MySQL隔离级别 & 存在的问题
6、MySQL的事务级别都有哪些,已经如何解决的脏读,不可重复读和幻读
7、Java的垃圾回收算法
8、缓存穿透、缓存击穿、缓存雪崩解决方案?
9、爬虫生成的8G的URL文件,只有1G的内存,如何查找出重复的URL
10、给一数组,让你找一对满足i<j && a[i]<a[j]的i和j (O(N)时间复杂度 O(1)空间复杂度)
华为三面
1、线程池原理,拒绝策略,核心线程数
2、如何中断线程,await和sleep区别
3、数据如果出现了阻塞,你是怎么排查的,top和jstack命令用过没,jstack命令的nid是什么意思,怎么查看java某个进程的线程
4、物种线程池使用场景
5、tomcat的工作流程,tomcat原理
6、http请求是基于什么协议,tcp/ip协议,具体是哪个(TCP),场景:当我打开一个浏览器时就会建立连接,有什么方法能让我不建立这个链接
7、内存泄漏知道吗?说一下内存泄漏会导致什么
8、Tcp三次、四次过程,可以是两次吗?挥手三次可以吗
9、volatile的底层如何实现,怎么就能保住可见性了?
10、Redis的缓存淘汰策略、更新策略
11、代码题:链表反转
华为四面
1、分布式锁的实现方式, zk实现和Redis实现的比较
2、Docker的原理
3、一致性哈希
4、LRU知道吗
5、ConcurrentHashMap原理,如何保证线程安全的
6、Git 底层实现;如何解决冲突
7、ioc原理、aop原理和应用
8、B+树和B树的区别
9、负载均衡说一下,nginx的负载均衡策略
10、HashMap 能不能存储 null 能,放在第一个格子里?concurrentHashMap 能不能存储 null?
11、分布式系统设计:现在有一个方法,可以给10台服务器调用,如何统计一天内10台电脑调用的次数和?
12、秒杀场景设计,应付突然的爆发流量
结果
最后很幸运的通过了面试,拿到了offer,同时也分享一下我总结出来的一些面试技巧,可以供大家参考,希望大家都能拿offer。
分享
1、简历
请好好花心思在简历上,一份好的简历不仅能提高你的录用率还能助你拿到比期望值更高的薪酬。
简历四要素:个人信息、技术栈、工作经历、项目经验。
注意:
- 注意优化简历排版及内容,使得整体简洁明了;
- 不要出现错别字,特别是专业术语;
- 多展示优点,切勿造假;
- 一定要使用PDF格式。
2、面试前的准备
- 刷题(抓重点,学会举一反三,增强对题目的理解能力)
- 项目经验(挑选一个项目讲解:项目背景?你的职责?遇到的困难?如何解决?)
3、面试过程
放松,保持良好的心态。
- 做好自我介绍,切勿再说简历上的介绍(让面试官对你感兴趣,体现自己的能力和价值)
- 适当“吹牛”来美化自己,切勿瞎吹
- 表达清楚,逻辑清晰
- 遇到答不上来的问题不用慌张,没人能覆盖全部内容,切勿一问三不知
- 不要答非所问,重点答在点子上
最后
为大家准备了我的同款复习资料,关注我,转发这条内容,私信【面试】或者点击右方链接:https://shimo.im/docs/QVy8HrQgPYkx9Ddg/即可免费领取,愿大家前途似锦,永远不要停止学习。