腾讯Java岗位面试分享,我以为会多问我算法,结果死磕数据库?

个人觉得腾讯面试基础考核较多,特别是数据库,因为自己较少用数据库只对一些基本操作有了解所以在回答数据库的问题的时候答得较浅,算法题目基本也只考察排序算法,只有二面的时候问了一道动态规划的题。可能因为项目里只写了区块链的项目,所以面试官也没有考察各种中间件的掌握情况。

腾讯初试一面

数据库发生死锁的原因,如何解决?多线程同步机制除了用锁还有其他方式没?数据库的索引,联合索弓|如何实现?排序算法,时间复杂度,稳定性,手撕代码重载重写虚函数多线程出现问题如何定位?Java内存模型以及内存结构HTTP协议以及版本网络字节序与主机字节序三次握手以及四次挥手动态规划HashMap , ArrayList等Java集合数据库的各种锁数据库最左前缀

腾讯二面

多线程之间如何通信?数据库事务如何实现?进程与线程的区别,切换的过程?AOP IOC的实现方式Java的四种线程池以及阻塞队列垃圾回收算法TCP的计时器实现LRUjdk动态代理cglib代理RMI了解吗?

腾讯复试三面(总监面)

面向对象与面向编程的区别以及特点数据库索引的实现方式,为什么索引1能加快查询效率?.数据库查询慢如何优化? MySQL的存储引擎以及区别堆栈的区别排序算法线程的状态sleep wait的区别等HTTP code状态码了解多少?

还有很多题目不记得啦

腾讯面试总结方面

精通Web后台开发语言至少一种(PHP、Java、.Net、C++),有一定的架构能力和良好代码规范熟悉linux/unix系统与开发环境熟悉TCP/IP协议,socket编程熟悉mysql以及SQL语言有高性能大容量服务系统设计开发经验精通面向对象设计,精通J2EE开发,java web开发全面并且扎实的软件知识结构(操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全);具备良好的分析解决问题能力,能独立承担任务和有系统进度把控能力精通MySQL或Mongo DB,熟悉缓存技术memcached、redis有大型分布式、高并发、高负载、高可用系统设计、开发和调优经验B/S结构系统分析及设计经验,有构建可伸缩、可扩展、高可用系统经验有良好的开发习惯,熟悉Maven, Jenkins, JUnit等工具精通MVC/REST架构、模板引擎、中间件的原理与应用熟悉MySQL数据库,了解MySQL索引优化、查询优化和存储优化

作为互联网行业的三大巨头之一,腾讯对于互联网人才有很大的吸引力,他们的员工也是众多互联网同行觊觎的资深工程师、管理者人选。

面试答案分享:

以下该面试题的部分参考答案。

金三银四跳槽季,小弟为各位大哥准备了几份面试宝典:

一份是技术干货《Java核心知识点整理》一份是面试真题《1000道互联网Java工程师面试题》面试宝典《互联网Java工程师面试题大全》转发+关注,私信回复【文档】即可获得免费领取方式。

Java核心知识点整理

1000道互联网Java工程师面试题

互联网大厂面试宝典

面试题答案,获取方式

关注+回复关键词 【文档】即可获取~

重要的话说三遍,先转发,转发,转发,然后私信才可拿到参考答案哦!