网友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
来源:牛客网
一面
- 讲讲java容器(吹了半天HashMap和ConcurrentHashMap)。
- 讲讲jvm的内存管理机制(对比着c和java讲了下,主要详细说了下对象的创建过程,说了下如何判别对象该被回收了(可达性分析算法)、垃圾回收算法、垃圾收集器)。
- 项目中为什么要用redis来缓存赞和踩?数据不一致怎么办?如何保证数据的持久性?
- python会吗?c语言会吗?前端会吗?ios会吗?(会一点...)
- 来写个题吧,给一个日志文件,里面记录的是当天的访问的ip、时间等等,我希望求出每天的访问量。(我感觉应该是写shell,但是我不会,面试官说可以用java,但是我忘记Java io的api了。。。)
- 懂测试吗?大概讲一下,测试一支笔需要怎么测试?
- 你还有什么要问我的?
二面
- 会jvm是吧,讲讲内存分配。我吹了一大堆的对象创建,面试官说你这只说了对象的创建,那其他变量呢?然后大概写了个这样的程序,问我每个变量存在哪?
1 2 3 4 5 6 7 8 |
public class A{ int a; B b1 = new B(); void fun(){ int c; B b2; } } |
- 讲一下你的项目吧,画一下架构。你使用redis做缓存,那现在假设你是一个测试,你能提出多少redis可能存在的坑?(留下了不熟悉redis的泪水)
- 重载和重写。为什么要有重载,我随便命名一个别的函数名不行吗?谈谈你是怎么理解的。
- 算法题:给一个数组,找出出现次数大于数组长度一半的那个数。(我直接无脑用哈希表,面试官皱着眉头说能优化不,我想了半天没想出来)。
- 让我写测试用例来测试算法题,并根据所写的测试用例找出你写的程序有哪些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你还有什么想问我的么���
基本感觉基础很重要,特别重要,写的项目一个没问!!感觉是凉了呜呜呜!总结一下纪念我秋招的第一面!!!
作者:金水妹妹保佑我
链接:https://www.nowcoder.com/discuss/201562
来源:牛客网
腾讯是我实习投的最早的公司,提前批开始之后的第二周就投递了,但是先是被锁简历一周,然后快要被释放了,才被约了3天后面试,这个时候都3月22号了,所以我的腾讯提前批是从22号开始的。废话不多说直接上面经。
提前批 3.22号一面(PCG):
1、自我介绍
2、http协议状态码301和302的区别
3、time wait状态是什么意思
4、concurrenthashmap(说的是1.7,1.8发生了变化也要看一下)
5、JVM的垃圾回收
6、Mysql的优化:怎么优化sql、用过mysql的性能分析工具吗
7、反转数组
8、jdbc怎么使用的,什么是sql注入
9、一致哈希
10、抽象类和接口的区别
就2、3没答上,但是第3个问题我是没听清楚面试官说的啥,确实没听懂time wait这两词。
面完直接灰了。
正式批 4.15 一面(CDG,电面,突击面试):
面试官先和我说,我这边是cpp的技术栈,你确定你还要面下去吗?
1、TCP的四次挥手
2、Java中类变量和成员变量,类方法和成员方法
3、Java中的线程安全问题
4、select/epoll的区别
5、Java中变量存储的位置
6、mysql的查询优化,用explain查询是否用到了索引
7、算法题:
从100W个数中选出第1 3 5 7 9大的数字?选出第50W大的数字?
范围1~300的100W个数,51排在第几?
给你一个单词表,然后给你一个单词,判断是不是合法?(trie树或者hashset)
(当中穿插了一些cpp的问题,我是实在不会就没写了。这面的感觉很好,面试官直接和我说我这边是OK的。这一轮的面试官貌似感冒了,喉咙有点发炎,真是辛苦面试官了。)
二面(约了时间的视频面,90分钟):
这一面的面试官感觉是老大,比较年长的那种,问问题也是从浅入深直到不会为止。
1、自我介绍一下
2、主要语言是Java是吧?对c++了解吗?c++和Java的区别你说说。
3、Java的内存模型。每个区域是用***嘛的?
4、Java的垃圾回收是怎样的?为什么新生代中内存的比例是8:1:1?为什么会有新生代老年代?新生代怎么变到老年代?你说的垃圾回收算法基于内存整理的是怎么整理的?你觉得可以怎么优化?
5、算法:
给你1,3,5,7,...,n不同面值的硬币(每种硬币数量不限),求组成面值M的最少的硬币个数。(这个算法问题其实挺迷的,题目是这样。我说应该是贪心,但是面试官说没这么简单,你再想想。)
6、Linux常用的指令。(这里我真的不会,用的好少,被说你这是完全不会linux。大概这就是非科班基础的差距吧)
7、MySQL根据成绩表查成绩。
8、MySQL的锁机制。
9、MVCC机制的实现原理。
10、出题考查对索引失效的理解。(最左匹配原则)
面试官评价:对数据库方面掌握还可以,,你在你感兴趣的方面的深度是有了,学习态度也没问题,但是要注意学习的广度。
这里又有了小插曲,我感觉春招开始就很不顺,插曲不断。面完二面以后,面试官说我这边还有其他面试,大概一周之内会给你结果的。然后刚好在我面携程的那一天4.23号刚好一周,状态变成HR面了。本以为差不多了,结果两天后,经历了从HR面退回到初试,然后又跳到GM面的过山车式面试状态。
三面(约了时间的视频面交叉面,30分钟):
今天的状态是真的差,下午赶着出门,上午面的。
1、自我介绍。
2、有实习过吗?有做过什么项目?(面试官对我的CRUD完全不敢兴趣,这也正常)
3、数据库的隔离级别?(我真是脑子抽,这个问题都漏了一个,状态是真的差)
4、数据库的引擎?innodb和myisam的区别?
5、什么是聚簇索引和非聚簇索引?
6、数据库怎么加锁的?共享锁怎么加的?
7、select、epoll的区别?
8、给你一整块内存,其中每一页的大小是1K,你怎么加锁?
面的感觉很不好,果然一小时后变灰。
本来以为我的腾讯实习之旅到此结束了,没想到。我在6月底被捞起来了。
一面(电话面,HR约的时间6.19):
1、自我介绍
2、数据库的隔离级别?
3、数据库的锁的机制?
4、MVCC在四种隔离级别下都有吗?undo日志什么时候会被删除?
5、一个事务中读取了A数据还未提交,另外一个事务处理了A数据,那么此时第一个事务读A会改变吗?
6、说一说HashMap、volatile、Java中的NIO。
7、进程和线程的区别。
8、Redis的跳表。
9、什么是一致性哈希?如果其中有服务器挂了,数据会丢失吗?
10、什么是分布式锁?分布式锁如何实现?
11、Redis一主多从的实现?如果主服务器挂了怎么办?能锁住吗?
12、事务的二段提交?
面试官:有后续会联系你。
二面(突击电话面6.21):
1、tcp的三次握手和四次挥手。
2、tcp和udp的区别。
3、二叉树的后续遍历。讲怎么实现就好了。
4、从篮子里拿出100个苹果,每次只能拿1个或者2个,有多少种拿法?
5、01背包问题。
6、Linux的常见命令。
面试官:基础还行,就是Linux不行。(再次中刀。。。)
HR面(6.25)
常规问题。
历经磨难,从3月初投简历,到6月底才上岸,一共面了7次,真是漫长又煎熬。期间,就拿了广联达和哈啰的offer。但是最终还是坚持了下来,也感谢我的女票带给我的好运和一直以来的鼓励和陪伴,还有小伙伴们的帮助。牛客网的面经和大佬们的总结对我找实习帮助真的很大,挺感激的。
虽然还没找到满意的工作,写下这篇面经算是攒攒人品吧。希望能帮助到以后的各位,也算是回馈牛客对我的帮助了。最后的最后,大家秋招一起加油吧,祝大家都能收获理想的offer。共勉!