问题导读
1.本文考察了哪些技术?
2.一面和二面有什么区别?
3.本文作者是如何总结的?
导读有很多同学想面试腾讯,想看他们的面试题,面试题准备只是基础的准备,更深层的准备,则是从面试题中,看重腾讯考察面试者哪些能力。
——————————————————————
一面(电话面):43分钟- 自我介绍
- mysql索引底层是怎么实现的?为什么要使用b+树而不用二叉树呢。
- JVM的内存划分是什么?本地方法栈中存放什么?
- 声明一个类它是如何加载的?
- 初始化一个类它的顺序是怎么样的?
- error跟exception有什么区别?OOM是error还是exception?
- 你知道css的盒子模型吗?两个div分别是A、B,A的margin是6,B的margin是8,那么A、B之间的间距是多少?(我当时天真的以为是它俩相加)
- Linux中的r、x、w权限代表什么意思?(我当时是真的太紧张了,这里居然回答错了)
- Java多态在JVM中是怎么实现的?
- 你是如何分析sql语句执行效率的?(我说我用了druid里面可以直接显示sql的执行时间这些,然后面试官推荐我下来了解下explain)
- HashMap数组大小默认是多少?为什么它要是2的n次幂?
- 说一说HashMap的底层吧?它是线程安全的吗?为什么不安全?为什么会造成死循环?
- Concurrent是如何实现线程安全的?
- 说一说CAS操作。
- volatile底层是怎么实现的?
- 你的项目中是怎么用到索引的?
- 你的项目是怎么处理用户登录状态的?用户每次需要登录时怎么识别是否已经登录过了?
- redis你是怎么用的?怎么保证与数据库数据的一致性?(我说可以通过在redis实时修改存储的信息,然后通过异步的方式对数据库中的数据进行修改,然后面试官问如果异步过程中数据库出异常了该怎么办?)
- 像一个秒杀系统会遇到什么问题?如何解决?解释下熔断是什么意思?
- 你了解过XSS攻击吗?那你说说Sql注入攻击?(我说我了解过Sql注入攻击,然后面试官就开始问起Sql注入了)
- 你还有什么想问我的吗?
腾讯的一面我感觉还是很偏基础的,并没有问我框架的东西,是前一天给我打的电话约第二天早上的面试,果不其然第一面很紧张很紧张,问的一些基础的东西都没有答出来(哭死了都要)。因为我去年做过一个博客项目,面试过程中面试官也很多次都主动回到了我的项目中。面试结果我觉得回答的都很一般。意外的是,早上面试完,中午就收到了腾讯发的短信约下午3点钟的面试,有点吃惊鹅厂的速度。
二面(电话面):67分钟- 还是先自我介绍
- 然后问了我很多很多的java基础
- Java是值传递还是引用传递?为什么?
- int类型占几个字节?那它在64位机器中占几个字节?32位机器跟64位机器有啥区别?它们可以支持的内存大小有区别吗?
- Java基本数据类型之间可以相互转换吗?会有什么问题?
- 你用过String的其他类吗?StringBuffer跟StringBuild哪个是安全的哪个是不安全的?
- 浮点类型运算有什么问题?
- 如何判断两个String是否相等?equals()方法怎么实现这种判断的?(这道题我有点没懂面试官的意思,可能是想问重写equals方法)
- JVM的堆、栈、方法区都放什么东西?
- 索引有了解过吗?说一说?
- 你是怎么用redis的?redis存储结构是什么?value可以是哪几种类型?
- 你是如何使用nginx实现反向代理的?使用nginx有什么好处?当有大并发时nginx是怎么处理的?说一说nginx的master跟worker进程吧?
- 有用过线程池吗?
- 说一说乐观锁跟悲观锁?
- 说说你理解的线程安全的含义?
- ArrayList跟LinkedList有什么区别?
- 说说红黑树的特点吧。
- 如何判断一个链表中是否有环的存在?
- post和get有哪些区别?
- 说一说你理解的aop?除了aop你还了解过什么?IOC与DI的区别是什么?
- 你了解哪些设计模式?(我说了几个我比较熟的后就没接着问了???)
- Synchroized底层是怎么实现的?
- 除了Synchroized还有什么实现同步?Lock与Synchroized的区别是什么?
- 像搜狐网站这种有海量数据的用户,进行数据库查询会很慢该怎么优化?然后我说了分表,然后就问我分了表之后该怎么找到这个用户在哪个表里?(面试官让我自行发挥,只要说的通就好)
- 你了解过缓存吗?如果我前天浏览了一个页面的十条数据,昨天你重新插入了一条新数据,那么在我今天访问最新的十条数据时有什么办法只需要获得昨天新插入的那条数据即可(其他九条在我前天已经获取过了)?(这道题有意思,但我回答出来的答案好像是错的,hhh)
- 你了解http请求头吗?用过里面的什么字段吗?
- 如何优化一条sql语句查询?
- Java目前最新版本是什么?有了解过它的新特性吗?
- 你什么时候可以开始实习?
- 你还有什么想问我的吗?
腾讯的效率是真的快,早上面完,中午还在写一面面经,就收到了下午三点的电话面试。面试过程跟上午相比简单一些,问了很多关于java基础的知识,然后上午没有问的框架下午也问了一些。个人感觉大厂还是很注重基础的,并且也会有很多场景扩展题,都是些以前没想到过的问题。总体来说问的都不是很深。下午4点多面完,晚上六点去吃饭时就收到了腾讯约下周一去腾讯成都公司做进一步的面试。 一面难度:★★★★
二面难度:★★★
总结大厂就是不一样,十分重基础,之前也看过一些腾讯的面经,但是在自己面完之后才发现与看的那个有很多不同,也许是因为简历的关系吧。因为知道腾讯面试主要考C++跟计算机网络比较多,我还花了一上午的时间看三握四挥这些知识点,也许看我是学java的吧,这些一点都没有问。 其实面试问的问题完全不止这些,但是一面试完整个人就处于超脱的境界,别说回忆面试问题了,就让我想自我介绍是怎么介绍的都想不起来。上面的问题也是在自己面试完后就及时记录的,如果有那种灵光乍现突然回想起面试时问的一些问题我也会及时更新的。 因为自己在简历上并没有写自己知识技能掌握的宽度,而且我也一直都在复习基础,也算是掌握的比较好吧,像JVM、并发这些书都是撕完一遍继续撕第二遍的看。总之就是,技能体系宽度不够没关系,深度一定要足够来弥补。
最新经典文章,欢迎关注公众号 如果你想找工作提高概率,想更快拿到offer,想提升自己。可查看About云VIP。
About云 VIP会员套餐介绍
http://www.aboutyun.com/forum.php?mod=viewthread&tid=27305
原文链接:
https://zhyocean.cn/article/1551507175
|