【面经】腾讯java后端实习面经

周六晚上八点半突然接到了腾讯PCG的面试电话,还处于一脸懵逼的状态,简历投的是WXG,然后莫名其妙被PCG捞起来了,然后记得提前批应该已经在三月份过去了,四月份应该是正式批了吧,但又没有参加笔试,然后就莫名其妙参加电话面试了,面试时间大概一个小时。话不多说,面经奉上。

 

一、自我介绍

 

二、聊项目,说一下印象比较深刻的一些地方

 

三、因为项目是跟数据库相关的,之后就问了很多Mysql的问题

1、mysql底层存储数据结构

答了B+树和原理。

2、mysql索引的种类

B+树索引、哈希索引、R-Tree索引、全文索引。

3、mysql的事务管理,如何设计一个事务系统

这个不太清楚,从事务四个特性ACID来答得。

 

四、有一个项目里面用到了redis,然后又问了redis的问题

1、redis和mysql的区别

2、redis为什么快

 

五、写代码,给一个只包含ascii字符的字符串,计算每个字符出现的次数

这个很简单,用了HashMap

 

六、接着代码问了HashMap底层原理

jdk1.8前:数组+链表

jdk1.8后:数组+链表/红黑树

 

七、ConcurrentHashMap底层原理

jdk1.8前:分段锁

jdk1.8后:sychronized+CAS,对每个链表头节点或者红黑树根节点进行同步

 

八、接着ConcurrentHashMap问了CAS原理

比较交换,用的是硬件底层的CPU指令CAS,相当于无锁,减少了线程上下文带来的开销。

 

九、Java其他的一些并发数据结构

原子类、读写锁、信号量等。

 

十、问了阻塞队列及其具体的实现有哪些

ArrayBlockingQueue、LinkedBlockingQueue等。

 

十一、AQS原理,如何保证并发

 

十二、web安全方面的问题,常见的web攻击手段有哪些

答了xss和js脚本注入。

 

十三、对加密算法的了解

了解不多,就没细问了。

 

十四、提问环节

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章