腾讯Java面经

网友1

作者:xjia
链接:https://www.nowcoder.com/discuss/225392
来源:牛客网

1.jvm基本结构

2.内存分区

3.虚拟机栈异常类型以及复现代码

4.堆内存异常类型以及复现

5.直接内存怎么使用以及jvm对其管理

6.并发容器种类

7.concurrenthashmap数据结构

8.链表什么时候变红黑树以及变回链表

9.mysql数据引擎知道几种

10.innodb和mylsam区别

11.索引失效

12.覆盖索引

13.三次握手中ack的值是什么

14.死锁怎么产生的

15.怎么预防死锁

16.死锁代码demo

17.arraylist和linkedlist的区别

18.arraylist为什么查询快(ps除了随机访问之外还有什么原因)

19.io类型知道几种

20.nio是其中哪一种

网友2

作者:很哇塞的大叔
链接:https://www.nowcoder.com/discuss/225485
来源:牛客网

1. 讲述下实习做了什么:略。

2. Java final关键字:略。

3. Java反射的特点:运行时任意构造对象,执行方法。

4. 进程间的通信:object的wait、notify;ReentranLock;CountDownLatch;CyclicBarrier。

5. 产生死锁的条件:互斥、不可剥夺、请求和保持、循环等待。

6. 死锁和死循环都会导致程序hung住,怎么判断是死锁还是死循环:一开始说用jps找到对应的pid,然后通过jstack pid,查看进程中线程的状态,然后分析有没有死锁,面试官说ok,还有没有其他 的做法,我说死循环可以中断,死锁无法中断(可能有误),面试官说ok,还有没有通过系统状态来判断的方法,我,cpu。

7. 线程池参数的意义:考察最大线程数、核心线程数、等待队列、拒绝策略等。

8. 口述算法:两个单向链表,找出相交点。

9. 口述算法:变异的10进制转2进制,

1可以转 001

2可以转010,002

3可以转011

4可以转100,020,012

10进制n有多少种转换方法。

面试官介绍了下他们的部门,使用的语言

有什么想问的。

感觉腾讯很喜欢问dp啊,两轮面试遇到了三个dp算法。

网友3

作者:KL3
链接:https://www.nowcoder.com/discuss/219646?type=2&order=0&pos=4&page=1
来源:牛客网

操作系统 内存部分(虚拟地址怎么找到物理地址)
swap分区
为什么用虚拟地址
linux怎么查看内存情况
进程的堆栈里面放的什么

快排  归并排序
口述算法 最长回文子串
三次握手
syn攻击
多态
hashmap  hashtable
线程状态(blocked   waiting  timed_waiting)
jvm内存分配
==  equals  hashcode
数据库隔离级别
脏读  幻读

二面面经:时长22分钟

感觉面试官不是搞Java,很多问题都是由我自己讲,都是谈理解。

说说对并发的理解

synchronized 和  lock

说说juc你认识的工具类

爬楼梯问题

mysql连接对象问题
长事务
mvcc
change buffer
项目

你是本科生还是研究生

你愿意来成都吗

实习干些什么

三面

8月13日 10:00  34分钟

说下你用到哪些框架

说说对spring mvc 和spring cloud的理解

你是实践过dubbo的序列化框架改用protobuf吗

说一下tcp 和 udp

tcp的time wait 和 close wait

说一下拥塞控制

怎么控制滑动窗口的大小

(还有个滑动窗口的题,有些记不清,当时也没答上了,就不说了,怕误导大家)

如果服务器端已进入close状态,客户端还处于time wait 状态,占用着端口,怎么解决

查看tcp连接数的命令

linux你知道哪些命令

linux 中 ‘|’的作用是什么?

当前系统的性能遇到了瓶颈,如何去定位问题

内存泄露怎么定位

说说你调优jvm的方向

说说jvm gc的特点,你的理解

你在校做的项目给你了什么收获

项目的大小,使用人数之类的。。。

网友4

作者:熬夜是万恶之源
链接:https://www.nowcoder.com/discuss/224096?type=2&order=0&pos=6&page=1
来源:牛客网

一面

  • MySQL索引
  • MySQL Innodb引擎的事务是怎么样的?(ACID)MVCC?锁?
  • MySQL主从复制原理
  • 主键和唯一索引对的区别
  • MySQL有同步复制吗?半同步呢?(第一次被问到,学到了)
  • MyISAM存储引擎下表的数据和索引是以什么样的方式存储的?
  • 联合索引什么时候不会用到?
  • b+树讲一下
  • 100个节点的二叉搜索树怎么找到他第80大的节点
  • Redis如果主节点凉了怎么办?注意哨兵和集群模式不一样
  • Redis分片原理,hash是用的哪一种算法?
  • Redis一个客户端可以访问分片的其他节点吗
  • Redis的主从复制原理
  • 如果Redis主从复制中途断了怎么办?怎么解决的?如果已经断了很久了呢?中途断了是通过主节点的内存上的缓冲区重新拿数据,大小是1M,如果数据超过,则不能恢复
  • Spring MVC的流程是怎么样的?
  • 前端相关:React父组件怎么给子组件传参的?React和JQuery的区别?箭头函数是什么?
  • linux用什么命令看负载?我看一个某一个端口是否被占用用什么命令?linux什么命令建立分级目录?
  • 讲一下tcp三次握手
  • 讲一下https握手
  • 手撕代码:给定一个字符串,查找其最长回文字符串

二面

  • 实习做的东西?
  • 你觉得作为开发有什么办法可以帮助运维?
  • 讲一下Java和PHP的区别
  • 如果有一个并发量很大的读请求请求我们的数据库,你觉得应该怎样才能压榨数据库的性能?
  • 如果有一个并发量很大的写请求请求我们的数据库,你觉得应该怎样压榨数据库?
  • 已知A节点 ping B节点的时长为30ms,请问A节点 wget B节点的资源,资源默认一个包就能发送,需要多长时间?
  • 你知道怎么调试断点吗?请问如果一个服务器已经在运行了,我们怎么像在开发环境一样给它打断点。
  • 怎么去监控我们业务信息,比如每小时成交多少成交量,不能去侵入改业务代码,给一个思路?
  • 如果要去查找一个linux服务器的负载,你怎么去查。
  • 你说了数据库连接池,假如我们要比较不用数据库连接池和用数据库连接池,你怎么去查找他们的响应时间区别?不是从业务层面,从更基础的数据库层面去分析
  • 如果一个人告诉你,你的这个web界面响应很慢,你的排查是怎么样的?
  • 我们业务有很多种对数据库的查询,如果要统计每一种查询分别需要多少时间?你会怎么做?如果不一个一个拼接SQL语句呢(SQL语句太多了),你会怎么做?
  • 如果你有一个跳板机,你怎么样去验证它是正常工作的?讲一下你的思路?
  • 假如A节点去调用B节点的服务,而A节点觉得是B节点处理太慢,而B节点说他们处理速度没有问题,你应该怎么去排查问题所在?不能改代码,在现有的基础上去排查?
  • 你觉得运维开发可以把什么做成自动化的来帮助开发?
  • 我们知道C的代码编译很麻烦,很多时候我们的开发效率会受到影响,而我们很多业务是C编写的,如果我们用docker发布业务,如果是你,你觉得怎么样才能够缓解现在这个局面?
  • 你知道ELK这一种日志的处理方式,你可以告诉我,我们可以从哪一些维度去查找我们想要的信息吗?

网友5

作者:很哇塞的大叔
链接:https://www.nowcoder.com/discuss/223656?type=2&order=0&pos=7&page=1
来源:牛客网

1.自我介绍 实习经历

2.用的什么语言?Java?还有其他熟悉的语言吗?C ?

3.C 指针指向的是物理地址吗?

4.堆和栈的区别

5.hashMap和hashTable的区别

5.不用加减乘除求一个数的7倍

6.A B两个文件 各有50亿个url,每个url 64K,怎么找出相同的url

7.10亿个数求topk

8.有两根香,香不均匀 每根完全烧完要一小时,求怎么判断15分钟

9.十层楼,每层楼有一颗钻石,大小不一,电梯从下往上,每层楼可以打开电梯门查看,但是只能拿走一颗,且不能交换,请问有什么方法可以拿到最大的

10.两个鸡蛋,100层楼,判断出鸡蛋会碎的临界层

有什么想问的吗

====================================

emm 好吧,我刚收到腾讯的笔试,可能之前面试凉了

网友6

作者:星辰007007
链接:https://www.nowcoder.com/discuss/222766?type=2&order=0&pos=10&page=1
来源:牛客网

先介绍下自己,然后介绍项目。

TCP和UDP的优缺点,什么情况下使用?

如何确定网络的稳定性?
mysql引擎,注入
TCP四次挥手,如何避免进入TimeWait
TCP三次握手,为什么不是两次?
http报文组成(QAQ)
多态的隐藏和覆盖
继承和组合
Linux下开发经验

客户端一次发送两个请求,如何区别哪一个(要考虑到包不完整的情况)?

堆排序
IO多路复用

网友7

作者:菜的找不到实习
链接:https://www.nowcoder.com/discuss/223499?type=2&order=0&pos=11&page=1
来源:牛客网

一面

  1. 讲讲java容器(吹了半天HashMap和ConcurrentHashMap)。
  2. 讲讲jvm的内存管理机制(对比着c和java讲了下,主要详细说了下对象的创建过程,说了下如何判别对象该被回收了(可达性分析算法)、垃圾回收算法、垃圾收集器)。
  3. 项目中为什么要用redis来缓存赞和踩?数据不一致怎么办?如何保证数据的持久性?
  4. python会吗?c语言会吗?前端会吗?ios会吗?(会一点...)
  5. 来写个题吧,给一个日志文件,里面记录的是当天的访问的ip、时间等等,我希望求出每天的访问量。(我感觉应该是写shell,但是我不会,面试官说可以用java,但是我忘记Java io的api了。。。)
  6. 懂测试吗?大概讲一下,测试一支笔需要怎么测试?
  7. 你还有什么要问我的?

二面

  1. jvm是吧,讲讲内存分配。我吹了一大堆的对象创建,面试官说你这只说了对象的创建,那其他变量呢?然后大概写了个这样的程序,问我每个变量存在哪?

1

2

3

4

5

6

7

8

public class A{

      int a;

      B b1 = new B();

      void fun(){

          int c;

          B b2;

    }

}

  1. 讲一下你的项目吧,画一下架构。你使用redis做缓存,那现在假设你是一个测试,你能提出多少redis可能存在的坑?(留下了不熟悉redis的泪水)
  2. 重载和重写。为什么要有重载,我随便命名一个别的函数名不行吗?谈谈你是怎么理解的。
  3. 算法题:给一个数组,找出出现次数大于数组长度一半的那个数。(我直接无脑用哈希表,面试官皱着眉头说能优化不,我想了半天没想出来)。
  4. 让我写测试用例来测试算法题,并根据所写的测试用例找出你写的程序有哪些bug。。(我当成leetcode来做了,就各种判断都没有进行)。

网友8

作者:金鹏201903071839583
链接:https://www.nowcoder.com/discuss/222035?type=2&order=0&pos=14&page=1
来源:牛客网

从九点面到十点二十
1. 计算机网络:url输入回车经历了什么(本来以为说的很细了,面试官直接来了个一层一层的说,每一层都干了什么),后来问tcp,路由器,交换机,反正计算机网络一整套给我弄懵逼了。
2. 数据结构:我实话实说不会图,就说了快排和归并(可能看我太菜就不问了)
3. (面试官可能感觉我太菜就问我对什么最熟悉)我叔jvm,gc 后来讲了一下gc的各种算法的优缺点,标记整理为什么适合老年代,年轻带适合什么,年轻带垃圾回收的过程,jvm调优参数。
4.接下来挣了一套数据库的ACID,事务隔离级别,每个都细致的解释一下。
5.一致性哈希算法,不让我讲理论,直接讲什么场景下能用到,为什么用!
6.问我还会什么,Java cas syn lock锁底层实现讲了一下
7你还有什么想问我的么���
基本感觉基础很重要,特别重要,写的项目一个没问!!感觉是凉了呜呜呜!总结一下纪念我秋招的第一面!!!

猜你喜欢

转载自www.cnblogs.com/youngao/p/12016888.html