4-14

一面

端口被占用其它应用能否正常运行,如何解决。lsof -i:端口号。

线程都共享了什么东西:堆、全局变量、静态变量、寄存器。

手撕代码,1-n的数组可以组成多少棵二叉搜索树:dp[i] = dp[j-1]*dp[i-j]

翻转文章单词:双指针

二面 

比如redis挂掉了怎么办。

降级、限流、兜底。哨兵。

手撕代码,搜索旋转排序数组。

双指针+数组

你说你用了CDN,如果CDN结点挂了会怎么办?

从服务器下载静态文件到本地,nginx转发静态文件到固定目录。

三面

写个命令,将当前目录下所有文件名和对应权限打印到一个文件中

```

$awk 'BEGIN{ while(("ls" | getline d) > 0) print d}' f

seq 10 | awk '{getline; print $0}'

```

快排说一说,为什么快

每一次每一个数更接近他原来的位置。

go的闭包了解吗

环境和值传递

一面

epoll与select poll的区别,epoll并不适用于所有场景

4.进程之间的通信方式及其特点。信号量、信号、消息队列、管道、共享内存、socket

6.线程之间的同步:互斥量、信号量、notify

腾讯PCG事业部二面 3月18日晚上11点半(28分钟)

4月8日下午4:30 一面 45min

堆:一般人为手动进行管理,手动申请、分配、释放。适合不可预知大小的内存分配。分配速度慢,也会产生内存碎片。

优先级队列

堆排序 算法 为什么是nlogn?每一次都是logn

管道 半双工

mmap 非堆内存,与内核内存相映射

进程的地址空间:

程序段(Text):程序代码在内存中的映射,存放函数体的二进制代码。

初始化过的数据(Data):在程序运行初已经对变量进行初始化的数据。

未初始化过的数据(BSS):在程序运行初未对变量进行初始化的数据。

栈 (Stack):存储局部、临时变量,函数调用时,存储函数的返回指针,用于控制函数的调用和返回。在程序块开始时自动分配内存,结束时自动释放内存,其操作方式类似于数据结构中的栈。

堆 (Heap):存储动态内存分配,需要程序员手工分配,手工释放.注意它与数据结构中的堆是两回事,分配方式类似于链表。

4月8日下午20:00 二面 1h10min

红黑树 最大树高不超过多少?

哈夫曼编码

栈,实现max O(1)

Linux ps top

权限 765 ? 哪一个是自己的权限? 无root的?

协程?

陷入内核 会做出哪些动作?

进程通信 IPC

共享内存映射,物理内存 怎么进行进程通信?

计算机网络

4次挥手 2MSL

智力题

100本书,最少拿1本,最多拿5本,怎么保证你是最后拿的?

3.23腾讯一面(1h)

手撕代码:

双向链表定义

两个有序双向链表,合并为一个

快速排序

面试:

排序算法时间复杂度,稳定性

红黑树与平衡树

缓存  剔除策略

LRU实现

select,poll,epoll区别

BIO,NIO,AIO区别

进程,线程,协程区别

https建立连接的过程

保证线程安全的方法

JVM内存模型

局部变量,临时变量,全局变量分别存放在JVM内存模型哪个区域

GC过程

B-树与B+树区别


3.26腾讯二面(半小时)

索引叶子节点是怎么组织的

索引修改后,怎么写入文件(面试官侧重点是,索引修改后,索引文件是全部替换还是部分修改,全部替换浪费性能,部分替换怎么实现)

数据库SQL解析过程

执行计划优化过程(怎么选择最优的执行计划)

分布式架构

分布式事务一致性

1.自我介绍

2.项目中用到的设计模式,单例模式、观察者模式,还知道哪些设计模式?

3.单例模式在多线程中如何保证只有一个实例化对象?

4.了解数据库吗?知道索引的作用吗?了解聚簇索引吗?

5.linux操作系统了解多少?答:了解不多,正在学习,面试官也就没再深入问了。

6.操作系统的磁盘调度算法?

时间片轮转调度(RR)、先来先服务(FCFS)、优先级调度算法(HPF)、多级反馈队列调度算法、高响应比优先调度算法((执行+等待)/执行)

7.多个进程同时对一个文件进行操作时,操作系统如何处理?

8.进程、线程,两者区别?进程间通信方式有哪些?心态已炸,只记得管道。

9.死锁,死锁产生的条件?

10.现场编程,下来查了一下是LeetCode原题:45. 跳跃游戏 II:https://leetcode-cn.com/problems/jump-game-ii/

11.现场编程,也是leetCode原题: 11. 盛最多水的容器:https://leetcode-cn.com/problems/container-with-most-water/


1.一面

list、set、map的存取特点

MongoDB和MySQL的区别

SQL注入,怎么防范

字符串子串替换


sleep、yield区别


列出目录下的所有文件



2.一面2.0


hashmap的冲突问题

hashmap的链地址法冲突多怎么办

求x的n次方

论文的词频统计,并排好序

快排的缺点,怎么优化

3.二面

进程的内存一直在涨,怎么定位

1000万字符串,长度不一,判断是否存在(提示我trie树)

1000万整数,判断是否存在

什么是线程独有的资源



作者:菜鸡一只鸭

链接:https://www.nowcoder.com/discuss/401022?type=post&order=time&pos=&page=1&subType=2

来源:牛客网


4.5 15:00 一面 腾讯会议视频面 1h10min

整体比较基础,面试小姐姐超好,体验很不错。


介绍项目

java垃圾回收算法,垃圾回收器,什么时候full gc,什么时候minor gc,还有内存分配策略,什么时候进老年代

ThreadLocal原理,内存泄漏问题,怎么解决

volatile性质,为什么不能保证原子性,和synchronized对比, JMM模型等

阻塞非阻塞与同步非同步区别,乐观锁,悲观锁,synchronized和cas

count(1),count(*),count(列名)以及执行效率 ---- 执行效率不太清楚。。count(1)也没说出来包含null

MVCC介绍

redis缓存穿透,缓存击穿,缓存雪崩,持久化处理

redis缓存一致性,项目中怎么用的

tcp,udp区别

http和https

dns劫持以及解决方式 (估计因为项目做的和dns有关)

线程池底层,四种类型,参数含义等

协程有没有用过,用法 (我只用python写过一点协程,简单讲了下,不了解go的协程)

spring两种代理,ORM是什么,mybatis为什么半ORM,mybatis如何防止sql注入

愿不愿意转golang

实习时间?

手撕代码:判断完全二叉树、求最长不重复子串,求链表有没有环

一面差不多就是这些吧,问的并不是非常深入,大概答了个80%-90%吧,面完10min状态就变复试了,作为一个菜鸡,觉得能过一面已经感觉很不错了hh



作者:菜鸡一只鸭

链接:https://www.nowcoder.com/discuss/401022?type=post&order=time&pos=&page=1&subType=2

来源:牛客网


4.5 15:00 一面 腾讯会议视频面 1h10min

整体比较基础,面试小姐姐超好,体验很不错。


介绍项目

java垃圾回收算法,垃圾回收器,什么时候full gc,什么时候minor gc,还有内存分配策略,什么时候进老年代

ThreadLocal原理,内存泄漏问题,怎么解决

volatile性质,为什么不能保证原子性,和synchronized对比, JMM模型等

阻塞非阻塞与同步非同步区别,乐观锁,悲观锁,synchronized和cas

count(1),count(*),count(列名)以及执行效率 ---- 执行效率不太清楚。。count(1)也没说出来包含null

MVCC介绍

redis缓存穿透,缓存击穿,缓存雪崩,持久化处理

redis缓存一致性,项目中怎么用的

tcp,udp区别

http和https

dns劫持以及解决方式 (估计因为项目做的和dns有关)

线程池底层,四种类型,参数含义等

协程有没有用过,用法 (我只用python写过一点协程,简单讲了下,不了解go的协程)

spring两种代理,ORM是什么,mybatis为什么半ORM,mybatis如何防止sql注入

愿不愿意转golang

实习时间?

手撕代码:判断完全二叉树、求最长不重复子串,求链表有没有环

一面差不多就是这些吧,问的并不是非常深入,大概答了个80%-90%吧,面完10min状态就变复试了,作为一个菜鸡,觉得能过一面已经感觉很不错了hh



作者:Shine4YG

链接:https://www.nowcoder.com/discuss/400709?type=post&order=time&pos=&page=1&subType=2

来源:牛客网


一面(电话面)

TCP 三次握手

HTTP 报文格式

HTTP状态码

项目相关,权限系统怎么设计的

遇到过什么bug,印象深刻的,如何解决的

select XX from XX where a = x and b = y 怎么建立索引

如果加一个字段c呢, select XX from XX where a = x and b = y and c = z 怎么建立索引

内连接和左连接的区别

ElasticSearch倒排索引

浏览器打开网页的流程

TCP编程

慢查询是什么?如何解决慢查询?

分库分表 区别

多线程访问相同资源 需要做什么

synchronize和CAS的对比

乐观锁是什么

HashMap HashTable CurrentHashMap

HashMap的扩容,什么时候扩容,设了初始值的时候会不会扩容

一堆ip,统计Top10的ip地址

嘴说:二分查询

二面(电话面)

Raft算法如何保证数据一致性

两阶段提交

两阶段提交存在什么问题

git存储模式,管理模式

git commit后 传到远程了吗

git push的是什么数据

介绍一个自己参与度高的项目

遇到的记忆犹新的bug,怎么解决的

100层两个鸡蛋,找可以摔碎鸡蛋的楼层,最少操作几次

9个球,其中有一个不一样的球,通过称重的方式检查出来

三面(视频面)

青蛙跳

算法题,查找两个数组中相同的元素

场景题,上亿个<时间,页面,用户>的数据,进行每个页面日活的统计

mysql的索引实现

优缺点



作者:云岫1231

链接:https://www.nowcoder.com/discuss/393336?type=post&order=time&pos=&page=1&subType=2

来源:牛客网


1.自我介绍

2.JAVA字符串可以改变吗(String,StringBuffer,StringBuilder)

3.快速排序最坏情况下的时间复杂度,快速排序稳定吗,为什么

4.MySQL和MangoDB的区别

5.MySAM和InnoDB的区别

6.说几个HTTP状态码

7.路由器是第几层的,交换机是第几层的

8.了解Redis吗?(不了解……于是没了)

9.不同服务器的线程之间如何通信

10.计算机存储数值用的是源码反码还是补码,为什么

11.cookie和session是什么,区别

12.问我了解大数据吗(我说正在学Hadoop还有机器学习之类的,于是面试官就没继续问,好像想问Spark但是我不知道……

13.根据我的项目问了问微服务是怎么实现的

14.在线手撕了两道算法题,第一题是判断是否是2的幂次

第二题:有从1到n个人,从1开始数,数到第m个人,把它踢出去,然后从他后面再开始数,数到第m个人,再把它踢出去,一直到剩下最后一个人,输出这个人的编号。输入m,n。约瑟夫环

(哭了,第二题就讲了讲思路,代码没写出来,感觉这里就凉了QAQ


问了一下这个部门用的是python, go,php



作者:章鱼哥20191115004342

链接:https://www.nowcoder.com/discuss/380417?type=post&order=time&pos=&page=1&subType=2

来源:牛客网


面经内容(60min)

自我介绍

手撕一个二分查找

TCP状态转换 (握手挥手背的很熟,状态也很熟,但当时脑子每反应过来啥意思直接说不会)

学过数据库没?

说一下 Mysql 索引,原理

B+ 树的原理

B+ 树和 b 树的区别

手撕树的水平遍历(用的队列)

能用递归写出来吗?(我当时就懵了,思考半天不会)

有什么要问的?

第一次面试,即使挂了也很开心,收获了面试经验,还能督促自己学习。(太悲观了,其实后来并没凉)


腾讯二面(60min)

开局两道算法题

类似 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。(我理解错了题意,浪费了很长时间,后来经过提示理解了,秒了)

面向对象解决问题:员工、经理签到,员工可以签到,经理可以根据员工id打印表,可以查看倒数第n个员工签到。考虑时间复杂度时间复杂度,最差不能到 n^2,我用了一个链表,为n。主要考察面向对象的能力,考虑好权限问题,及多种实现方式。

syn攻击了解吗?

DNS 协议

说一下为什么挥手要4次?

内存溢出了怎么查看?

腾讯三面(30min)

自我介绍

介绍项目(基本全在自己说)

说其他项目的亮点

给一个函数可以得到1-5的随机值,设计一个可以得到1-7随机值的函数,并证明公平

跳楼梯(斐波那契数列)(提这个问题我因该就凉了,用来凑时间。我还以为是写出数学通项公式,还想了几分钟)

随便问问

面完一分钟显示凉了



UDP和TCP区别


(4)手写数据库增删改查(牛客网视频面试可以同步敲代码),问了数据库相关的很深的东西,我都没听懂。


(5)多线程与多进程


(6)什么是面向对象(就在此时他问我是不是从来不看书,我说我看呀!!!别贬低自己,同志们,面试官不会觉得你谦虚,而是觉得你没能力)


(7)主要用的什么语言?(我说JAVA)说说JAVA框架


(8)问了正则表达式


(9)手写排序


(10)他出了一个题目(每行两个数字,逐行求和输出)


        然后就没了,所以我就凉凉了,这轮面试总结就是不难,很基础,项目准备的不清晰,我自己本身很紧张,加上自己有点傻,但是因为可能笔试还可以,所以就没给我转成运营,而是到了别的部门的开发,当然这是11天之后的事情了。


    3.19号,我还在医院看医生,已经不抱希望了,突然接到了腾讯的电话,说希望安排面试,我说可以下周么,对方说面试要截止了,所以就同意周五了,因为周三有个很重要的答辩,需要好好准备,周五早上也有个很重要的答辩。那周身体不好,去了两次医院,答辩了两次,还面试了两场,整个人有点崩溃。周三答辩完,又去看了医生,五点多接到腾讯电话希望提前面试时间,我只好同意提前到周四晚上。


    3.21号,第二个部门的一面,小哥哥很帅,并且超级温柔!!!心动的感觉!!!我回答错了的时候他还只是笑笑不说话,或者换个问题。没有自我介绍,项目问了好多好深的问题。


  (1)项目是TCP还是UDP,宕机怎么处理,服务器怎么部署的,%*&……(&*%……&然后问了很多我从来没想过的。


  (2)重载和重写,虚函数


  (3)写个二叉树广度优先遍历(同步的牛客网),我在本地写的,小哥哥看我还没写完叫我把写完的粘过去(呜呜呜,我知道我很菜,我要努力!!!!!),并且讲思路


  (4)说下深度优先遍历


  (5)数据库索引


(6)操作系统宕机,服务器瘫痪怎么办,没响应怎么办,延迟怎么办,&%&%……&T&*……¥#¥……&问了好多好多

  (7)问了好多好多,我给忘了,http协议相关的东西,实现

    (1)数据库事务,各种性质相关的


      (2)给我提了个数据库的问题让我判断。


      (3)二选一编程题,先说了第一道,一个英文文件,分割单词,按照字典序输出每个单词的出现个数。但是牛客好像没发找到我本地的文件,所以就变成了字符串。因为我用的是split(" ")函数,直接分割的空格,所以小姐姐问我如何实现多种分隔符,我说的是判断,把可能的分隔符都想到,然后对比,小姐姐说这样效率太低,然后让我判断前后字符串实现,我就又手动实现了能分割多种分隔符的函数。

你可能感兴趣的:(4-14)