前言:
最近我刚换工作,目前已经收到了腾讯和华为的offer,小编也总结了自己的一些面试经验分享给大家,希望对大家在这个特殊的银四,甚至是银五时期的面试有所帮助!
一、直击感受
1、基础不牢,地动山摇:Java基础知识一定要扎实,所学的技术点都是根据这些基础知识展开深入来的。而且在面试过程中任何问题都有可能被问到,所以,对自己的事业负责,千万不要自欺欺人拿自己的事业开玩笑。
2、以不变应百变:大部分的面试官不是真的要问倒你,他们只是想看看你的解决思路和套路是否能够灵活多变,问到一个你不知道,你就说不知道了,那这个还怎么继续。所有的问题都有相通性,找到相似的场景扩展自己的思路,随机应变。
3、由浅入深:大多数的面试官很喜欢由浅入深的发问,从简单的应用到底层原理的理解再到具体的一个点。因此,一定不能停留在学习的表面,应该要有一定的深度学习。
4、关于薪资:薪资=能力+学历+简历
二、腾讯面试
01技术一面:
- tcp一个包多长
- tcp 三次握手、4次挥手
- tcp 和 udp 区别
- tcp 包头介绍
- tCP 死锁问题解决
- mysql 存储引擎
- mysql 索引 B+ 树
- 写sql 两个表级联
- 具体实现并发安全
- reactor模式
- 读写锁场景题 Linux内核了解吗 顺序锁了解吗
- 快速排序 时间复杂度分析 最坏 平均 怎么避免最坏时间复杂度
- 什么时候会使用B树 面试官说mongodb就是使用B树 你知道为什么吗
- unix domain socket知道吗
- 说一说你的项目
02技术二面:
- kafka的整体架构
- kafka怎么保证exactly once
- kafka事务
- 数据库ACID;并发带来的问题;数据库的隔离级别
- 项目介绍
- 项目需求,框架,为什么这么设计,最后效果如何
- 设计一个倒排索引的生成过程并写出每一步的输入输出,及计算思路
- 倒排索引的增加和删除怎么做
03技术三面:
- 算法:回溯法求组合
- TCP time_wait状态
- 概率题 :54张牌 分成三堆 每堆18张 大小王出现在同一堆的概率
- MyISAM、InnoDB 区别?为什么不用 MyISAM?
- mvcc 原理?多版本数据存放在哪?
- 主从复制的过程?复制原理?怎么保证强一致性?
- 什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
三、华为面试
01:技术一面
- 结构数据库和非结构数据库区别,你了解的非结构数据库有哪些
- 频繁的增删数据量某个表,数据库最终数据只有几万或者更少,为什么查询会变慢
- 数据如果出现了阻塞,你是怎么排查的,top和jstack命令用过没,jstack命令的nid是什么意思,怎么查看java某个进程的线程
- 大数据算法聚类算法有哪些
- 写一个算法判断某个数是2的n次方
- Map键的无重复性是怎么实现的,如果想要自定义比较如何实现
- 集合有什么类型,分别叙述一下
- JVM中关于线程安全体现在什么地方
02技术二面:
- 二叉树两个节点最长距离
- 上万条操作,怎么对消息数量进行计数
- 丢包怎么处理
- http10条请求要不要开十个连接
- 内存泄露的情况
- 怎么判断是垃圾,可达性分析法,源头是什么
- 数据库怎么优化查询
03技术三面:
- 什么是分布式
- 怎么创建线程
- 进程和线程在内存上的区别
- JVM 的内存的垃圾回收机制你知道哪些
- 怎么打印线程的堆栈信息
- Java内存模型
- 1亿个手机号码,判断重复
- 线程之间的交互方式有哪些?有没有线程交互的封装类
- Redis的缓存淘汰策略、更新策略
- zk挂了怎么办
- 一致性哈希
- ioc原理、aop原理和应用
- Docker的原理
最后
其实说到底,面试题是没机会押题的,关键还是靠自己的实力。为什么大厂面试很重视基础呢?原因就是上面说的,基础不牢,地动山摇。基础都不牢固,难道挖你去项目组挖坑吗?
今天罗志祥和女友周扬清上了热搜,而罗志祥的时间管理在朋友圈被刷屏。白天极限挑战,晚上挑战极限,而你口口声声说要学习,但最后其实啥都没学到很有用的东西,工资还是没得涨?那说明你的学习方法太碎片化,长久的学习对自己的发展肯定是有益的。
读者福利
为大家整理一份高分宝典,适合3年以下的程序员来学习:
整理了一份面试高频题,对于大家面试都有所帮助:
【重要】为大家提供一份50W架构师成长路线,看看你与别人的差距有多少,如何系统的学习来提升自己的技术以及薪资:
需要领取上述资料的私信【资料】或者点击右方链接:https://shimo.im/docs/QVy8HrQgPYkx9Ddg/即可免费获取。如果这篇文章对你有所帮助,不妨点赞+关注+转发三连支持一下。
网友评论