面经

1、string,stringbuilder,stringbuffer的区别 2、mysql语句,写增删改查 3、TCP、UDP位于哪一层 4、ip位于哪一层 5、HTTp位于哪一层 6、HTTP三次握手 7、HTTP两次挥手会怎么样 8、IOC的过程 9、常用的Spring注解 10、解释一下多态和多态的特点 11、博客项目叙述一下 12、Volitile的作用 13、mysql的死锁是什么 14、mysql的索引有什么用 15、MySQL的索引有什么缺点 16、反射的三种方式说一下

布隆过滤器、http请求头字段、springboot简单用法

有序合并两个链表,要求去重

继续八股
数据库表结构怎么设计,课程、老师、学生
要查询学生的所有课、课的所有学生
怎么查
1 为什么要用布隆过滤器,有什么好处
2 防刷限流怎么实现的,有什么其他实现方法吗
3 线程安全问题
4 mysql事务

3、微服务架构的特点

4、微服务通讯方式有哪些?适用场景

5、Redis的使用过程

6、Redis和MySQL一致性如何保证

7、Redis有序集合的底层实现

8、Redis持久化

9、Redis分布式锁

10、分布式事务,2、3阶段提交

11、事务的ACID的英文

12、可重复读的原理

13、主从同步延迟如何解决(没背过,直接说不会

14、tcp的四层

15、tcp的滑动窗口

16、如何实现流控制和拥塞控制

17、输入b站域名的全流程

18、dns的递归查询的过程

19、Python解释器的作用,除了C-Python还知道什么(不知道其他的

20、反问:这个团队是服务UP主的,创作者中心就是他们的工作

21、面试评价:基础扎实,就是代码写的慢(这不是我的问题,是牛客的问题

:升序链表合并的实现

计网:
tcp三次握手四次挥手介绍一下
 说说TCP与UDP的区别?
滑动窗口,拥塞控制、流量控制、重传条件?

C++与数据结构:
如何使得结构体只用于堆或者只用于栈?
讲一下字节对齐的规则?
100万个数据,如何进行排序,用什么算法?时间复杂度多少
两个字符串找出公共子串,讲一下思路

操作系统:
死锁条件
写构建索引和查询语句。
后续针对写的语句,问如何优化,优化原理等。

volatile关键字
右值引用作用
操作系统:
进程和线程区别,应用场景
产生死锁条件
如何实现死锁检测

虚函数实现,析构函数,内存管理等等
栈堆存数据的区别
问常用的三个数据结构及各自的优缺点
数组,链表,哈希表(算吧?不过不知道怎么说哈希的优缺点)
无向图有权值的最小生成树怎么实现
prim和kruskal
问了两个场景实现:
1贪吃蛇地图和蛇本身用什么数据结构实现
地图邻接矩阵,蛇应该用队列
蛇碰撞检测:边界检测和自身碰撞检测
问我平时c++遇到的困难(都不记得了,尴
1.说一下const、define的区别(翻了好多面经,CPP的大家都被问道)

2.指针的++、- -说一下(同上)

3.static 和 普通变量的区别(同1)

4.说一下for循环和递归的区别(既然强调了for循环,感觉稍微多说下for能确定次数这点吧)

5.说一下野指针是什么、怎么产生的(虽然知道那个理,但有点说high了,在那说起了大白话/魔爪全责)

6.讲一下你知道的设计模式(同1,好多人都被问道)

7.讲一下你理解的单例模式(6的衍生,感觉难得也不能问你)

8.讲一下平衡二叉树&二叉搜索树(脑子有点兴奋,没比较正常的说出来二叉搜索树的所以然)

9.讲一下什么时候会用到平衡二叉树(回答的不好,笔者说“需要用到‘左右子树高度相差不超过1’的时候”,纯纯说了遍特性)

10.(忘了。。)

11.说一下你知道的排序算法(说就行,但笔者建议说的时候绘声绘色些,别光说“快排、冒泡、归并、希尔..”,可以稍微扩充下“比如说‘快排会分割、用到一种分治的思路’,‘归并是把一个数组咔咔(笔者说的时候甚至挥舞起了手刀)然后再排’、‘数据比较多的时候可以用下外部排序’”)

12.(看好多🐂友下一个一般是讲讲“XX排序”,可能笔者前面说太多了,面试官就自动换问题了)你对多线程有什么了解(明确说不了解,但笔者依稀记得C++11新加了东西)

13.说一下多线程并发策略之类的问题(当时懵了:我都说我不会了,你害问)。笔者这里还是接了下来——按照自己的理解举了个刚开服可能会被冲爆的例子,然后要处理好这个问题,顺便提了嘴“游戏上之前进行压力开发”巴拉巴拉的

14.你对C++网络编程了解多少(笔者光提了嘴socket,这个没背,笔者活该)

15.讲一下TCP/UDP协议(绘声绘色的讲)
1、介绍ARP、RARP的工作原理?
2、为什么需要ARP?ip是在不同子网之间是如何转换的?
3、TCP保证可靠性的机制?
4、事务的四大特性?
5、脏读、不可重复读、幻读?项目中用到的隔离级别,遇到的问题?
7、为什么需要Tomcat这种外部容器,Tomcat的作用?
8、讲讲类加载机制,为什么需要类加载,类加载的过程?了解Tomcat和servelet的类加载吗?
9、基本数据类型与包装类,缓存机制?
10、异常体系?
循环队列如mysql优化器的优化逻辑,tcp tahoe和reno啥

2、集合分为哪几类

3、arraylist底层

4、声明arraylist,java语言会做什么操作

5、arraylist什么时候扩容

6、arraylist是线程安全的吗

7、线程安全的list有哪些(忘了)

8、hashmap的底层原理

9、解决hash冲突一般有哪几种方法

10、hashmap是线程安全吗

11、线程安全的map有哪些

12、hashtable和concurrenthashmap的区别

13、concurrenthashmap最耗时的操作是什么

14、java线程有哪几种状态

15、线程之间如何通讯

16、进程和线程的区别

17、字符串常量池的理解

18、jvm的内存模型

19、堆分为哪几个模块

20、讲一下full gc和young gc的区别

21、代码有没有办法手动触发gc

22、执行system.gc()系统会发生什么

23、会立即触发回收吗

24、jvm的gc有哪几种常见的算法

25、java的字节码文件的加载过程

26、java的常量在哪个阶段被赋值(答错了)

27、双亲委派机制

28、双亲委派主要解决什么问题

29、mysql的索引实现和使用

30、mysql的隔离级别

31、数据库默认隔离级别

32、项目有没有做过数据库优化,然后是这么做的

33、syncronized的实现原理

34、syncronized和lock的区别

35、怎么创建一个线程,怎么创建线程池

36、创建线程池需要注意什么

37、什么是死锁

38、怎么避免死锁

39、有了解过设计模式
一道是找最长连续子数组,如12345
一道是把数组划分为k个连续子数组,子数组的和的最大值最小。

    HashMap的数据结构? 为啥用红黑树? 红黑树最多容忍左右高度差是多少?
    假如要对某个方法调用次数计数怎么做?LongAdder底层结构?
    CAS是什么?比较的是什么数据?

自我介绍一定要准备好稿子,可以包括基本信息、获奖经历、项目、实习、学生工作、性格、技术栈等内容,一定要简洁但吸引面试官。然后要在稿子的基础上,针对不同的面试进行调整,比如根据自己对岗位的匹配度重新组织结构,或是1分钟的自我介绍就只挑亮点说。

半结构一般都是问项目和实习经历,一定要用面试官能听懂的语言,了解一下STAR法则,

situation: 事情发生的背景,为什么会去做这件事?

task: 明确自己的任务,怎样在事情的背景下明确自己的任务。

action: 采取什么行动,为了完成任务,做了哪些事,为什么要这么做,有其他方案吗?

result: 最终取得的成果,行动中收获了什么,有没有完成目标?

有条理地描述,要突出你做了什么,有什么收获或成绩。建议对照着简历练习几遍,我第一次被问就会说的不太好,但后面再说就越来越顺了。还有一些职场行为题,建议大家可以在网上找一些题目看看答案的思路,练一练。被问到为什么来这个城市时,尽量别说是因为女朋友来的,因为会显得你很不稳定,去网上搜点其他的原因,让自己显得非去不可一些。

无领导小组我是没有自己找同学一起练习的,但看到有同学会拉人一起练,应该也蛮有用,因为确实无领导次数多了就更熟悉更敢说更自信了。需要大家随机应变。说的少一些没问题,但是一定不要刻意地插话或者打断别人。别人在讲的时候可以速记一下他们的观点,最后化为己用,带上对方的称呼,这样可以表现得更能hold住场面一点。

此外,在面试前可以加面试群,或者在牛客上找面经,稍微准备准备出现概率大的问题。牛客真的要好好看,上面真的有很多被掩盖的面经,认真找找!

哦对了,总行管培可能会有英文面环节,投总行管培的话一定要注意。

体检

体检前少熬夜,多喝水。体检时莫慌,大家都还年轻,不用过分担心,免得自己吓自己导致心率过速。

操作系统
Linux平常使用吗
线程和进程的区别,还有什么类似进程和线程的吗
什么是协程
CPU满了怎么看,怎么办
Linux下rm正在写入的文件会发生什么?
那么该如何在不使用kill的情况下删除该文件
磁盘满了怎么看
进程状态以及特殊两种状态
僵尸线程和孤儿线程是什么
清空进程时什么进程还存活?

网络
tcp三次握手四次挥手
为什么不能两次握手
如何解决tcp包的粘连
udp和tcp的区别
udp如何变得安全

Java基础
hashmap的底层
hashmap.get之后会发生什么
什么时候链表转红黑树
什么时候红黑树降级
jmm
Jvm区域及作用
老年代常用垃圾处理算法

多线程
threadlocal有没有使用
threadlocal底层是什么(哈希表)
threadlocal底层哈希表的key是什么

数据库
两种引擎区别
事务的原理
数据库的四大特性
如何保证隔离性
隔离级别分别有哪些
MVCC有什么用
什么是死锁。如何解决
sql数据库如何解决死锁
sql锁

Spring基础
springboot运行原理
bean如何加载,循环依赖?
aop底层
了解什么设计模式
代理模式在spring哪里使用过
单例模式在spring哪里使用过
包装者模式在spring哪里使用过
接口类代理和非接口类代理的区别

中间件
redis基本类型
Redis缓存穿透,击穿,雪崩及解决方法,bitmap

项目相关
常见限流算法

1.自我介绍
2.ArrayList和LinkedList的区别,ArrayList是连续的吗?LinkedList是连续的吗
3.hashmap的put过程,说一下扩容机制。
4.hashmap为啥线程不安全,调用get方法一定安全吗
5.currentHashMap为啥线程安全,锁的是哪里
6.synchronized和reetrantlockX别
7.reetrantlock的实现原理
8.jvm内存结构,垃圾回收算法,新生代用的垃圾回收算法强引用,软引用,弱引用,虚引用的区别
9.redis持久化机制redis的分布式锁实现
10.你认为小米汽车的发布对车界的影响怎么样
11.反问

 

自我介绍

  各位面试官上午好,我的名字是小黛,99年的,今年24岁,我本科是在b站大学读的计算机,硕士是在门头沟学院读的电子信息,研究方向是xxx。

作者:ai程序员小东
链接:https://ac.nowcoder.com/discuss/1163711?type=0
来源:牛客网

某同学上大学后对互联网行业比较感兴趣,想从事相关工作,寻找资料后了解Java后端网上资料较多,学习人数较多,工资待遇也不错,于是开始从网上搜寻视频资源自学java后端。

大二时期,机缘巧合之下看到学院某老师招几个学生到自己团队做一些编程项目,本着学习的态度去报名参加,老师看着我java后端基础不错,就答应加入团队。

加入团队后,老师按照XXX JAVA编码规范要求我们编码,例如:类名大驼峰、方法变量小驼峰、注释规范、日志打印规范等,在老师的带领下接了很多java后端的外包项目,例如XXX项目。

    • 利用Spring、SpringBoot、MyBatis等搭建XXX项目的基本框架,以XXX业务实现了基本的增删改查操作,用XXX插件实现XXX数据的分页查询。(还可以加一些新出来的技术,吸引下面试官,前提是你要会)
    • 利用SpringSecurity和XXX实现XXX项目的登录授权功能(这一点可以细化,授权针对谁,谁有什么权限)
    • 利用Redis对XXX、XXX、XXX等数据实现数据的缓存,起到XXX作用。
    • 用到的框架都加上来,结合项目背景改变一下描述。
    • 项目写完后,和老师、同学走读代码,发现很多逻辑实现复杂,功能耦合,你们提出了XXX优化方法。
    • 1、string,stringbuilder,stringbuffer的区别 2、mysql语句,写增删改查 3、TCP、UDP位于哪一层 4、ip位于哪一层 5、HTTp位于哪一层 6、HTTP三次握手 7、HTTP两次挥手会怎么样 8、IOC的过程 9、常用的Spring注解 10、解释一下多态和多态的特点 11、博客项目叙述一下 12、Volitile的作用 13、mysql的死锁是什么 14、mysql的索引有什么用 15、MySQL的索引有什么缺点 16、反射的三种方式说一下

      总结就是:回答的时候要学会更加自信的回答,然后就是一些基础没有很牢固,项目的话,记得抽时间总结一下难点和可以优化的地方。

posted on 2024-03-28 04:07  哇酷哇酷  阅读(5)  评论(0编辑  收藏  举报