面试06,[长亮科技]()(offer)、[荔枝]()FM(在确定部门和薪资)、[涂鸦智能]()(第一轮电话面半小时,待后续)、华资软件(HR面)、[广州速游]()(已挂)。至于公司怎么样不加以言论。

article/2025/11/11 16:08:39

作者:Carson-Zhao
链接:https://ac.nowcoder.com/discuss/522002?type=2&order=0&pos=16&page=1&ncTraceId=&channel=-1&source_id=discuss_tag_nctrack
来源:牛客网

总结一下这几天的面试吧!从19号到现在23号总共笔/面了,长亮科技(offer)、荔枝FM(在确定部门和薪资)、涂鸦智能(第一轮电话面半小时,待后续)、华资软件(HR面)、广州速游(已挂)。至于公司怎么样不加以言论。可能有些题想不起来,但是回答了的问题,没标注不会的,回答的应该还行,马马虎虎,需要了解的私信也可以。

长亮:

实习项目

怎么样设计数据库?

不知道问什么,一般是先收集信息,表示对象和属性,表示对象的对应关系,花e-r图

更具e-r图创表

了解视图吗?实习中看过或者设计过没?讲一讲

视图就是select查询语句创建的一个虚拟存在的表,

ArrayList和LinkedList的优缺点和区别

ArrayList是基于数组实现的,它使用索引在数组中搜索和读取数据是很快的‘

LinkedList是基于双链表实现的。删除、插入元素较快。

ArrayList 只能用作列表;LinkedList 可以用作列表或者队列,因为它还实现了 Deque 接口。

HaspMap的put过程,存null怎么存?

put过程不清楚

存null,强制了链表第0位置为null

讲讲HashMap的扩容过程

太难了,讲源码

讲讲GC过程

可达性分析、或引用计数法,找到失效对象,一般使用复制算法,复制进入幸存区,

重复(15)多次,进入老年代,老年代一般使用,标记清除压缩算法

Redis的常见数据结构和项目中在哪使用,处理哪些数据?

String字符串/hash哈希/list链表/set无序集合/zset(有序集合)

set 对外提供的功能与list类似是一个列表的功能,特殊之处在于 set 是可以自动排重的。

依次用于

粉丝数/用户信息/粉丝列表/共同粉丝/弹幕消息

跳表原理

多个索引

image-20210928120611499

为什么Redis需要持久化?

redis重启后数据丢失

Redis宕机后修复重启的加载过程

1.如果你把redis的持久化做好,备份和恢复方案做到企业级的程度,那么即时你的redis故障了,也可以通过备份数据,快速恢复,一旦恢复,就可以立即对外提供服务.

2.如果做了主从复制和哨兵,监听哨兵返回错误使用附属redis顶替宕机的redis

AOF和RDB的区别

RDB持久化机制,对redis中的数据执行周期性的持久化,每隔几分钟,几小时,几天,生成redis内存中的数据的一份完整的快照
AOF持久化机制,对每条写入命令作为日志,以append-only(追加)的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集,

MySQL索引有哪些?innodb聚簇索引和非聚簇索引区别

不知道

索引类型分类

不知道

输入一个URL背后发生什么?DNS解析过程

将域名解析成ip,tcp三次握手建立连接,发送http请求,服务器处理请求返回报文,浏览器解析页面,tcp四次挥手。

Linux怎么查看日志

tail -f xx.log

了解docker原理吗?(这个不知道,只会用)

共同使用kernel内核,各个应用和环境相互隔离。

三握四挥

前面文章多次赘述,这里就不废话了

https://blog.csdn.net/weixin_50224527/article/details/120501023

荔枝:

实习项目,难点,技术栈,提升

treeMap和HashMap的区别

treemap继承了sortedmap默认升序排列,

abstractmap继承了treemap,hashmap继承了abstractmap

大端存储和小端存储的不同

大端存储:将变量的最高有效位存储在地址的高位,最低有效位存储在地址的低位;

小端存储:将变量的最高有效位存储在地址的低位,最低有效位存储在地址的高位;

怎么确定对象是否可回收?

引用计数器为0,可达性分析联通

为什么是15次轮回才能将对象放到老年代?mark word中表示age的4位能修改吗?

头部是4个比特位,1111,最大15

Redis在使用的时候哪些性能问题(回答的是fork子进程消耗性能)

主从复制,持久化写文件,保持内存快照

Redis有哪些删除缓存的方法?优缺点,怎样改进的?

定期删除,redis默认每个100ms检查,是否有过期的key,有过期key则删除。需要说明的是,redis不是每个100ms将所有的key检查一次,而是随机抽取进行检查(如果每隔100ms,全部key进行检查,redis岂不是卡死)。因此,如果只采用定期删除策略,会导致很多key到时间没有删除。

于是,惰性删除派上用场。也就是说在你获取某个key的时候,redis会检查一下,这个key如果设置了过期时间那么是否过期了?如果过期了此时就会删除。

用什么实现线程顺序执行(ReenterLock+Condition),有没有其他方法?

join 方法

讲讲Synchronized锁升级的过程和应用场景

不会

聊聊ThreadLocal,在工作中中有用到吗?(只讲了在demo中用过)

私下有没有做过GC调优,怎么做的大体流程(构建的调优环境)

用什么东西或者编码可以查看各种GC的状态?

线程池的七大参数和意义

(1)corePoolSize:线程池中的常驻核心线程数。

(2)maximumPoolSize:线程池能够容纳同时执行的最大线程数,此值大于等于1。

(3)keepAliveTime:多余的空闲线程存活时间,当空间时间达到keepAliveTime值时,多余的线程会被销毁直到只剩下corePoolSize个线程为止。

(4)unit:keepAliveTime的单位。(H/min/s)

(5)workQueue:任务队列,被提交但尚未被执行的任务。

(6)threadFactory:表示生成线程池中工作线程的线程工厂,用户创建新线程,一般用默认即可。

(7)handler:拒绝策略,表示当线程队列满了并且工作线程大于等于线程池的最大显示数(maxnumPoolSize)时如何来拒绝请求执行的runnable的策略。

maven中怎么排除Jar冲突?

1.使用maven依赖分析 mvn dependency:tree

2.父类锁定版本

怎么判断哪些地方需要建立索引?举例子

涂鸦智能:

怎么解决Spring循环依赖(三级缓存)

Spring循环依赖的理论依据其实是Java基于引用传递,当我们获取到对象的引用时,对象的field或者或属性是可以延后设置的。

Spring单例对象的初始化其实可以分为三步:(实例化、填充属性、初始化)

所以在“A的某个field或者setter依赖了B的实例对象,同时B的某个field或者setter依赖了A的实例对象”这种循环依赖的情况。

a暴露自己在三次缓存,singletonFactories中,依赖b,创建b,b在三次缓存获取a对象完成初始化放入到一级缓存singletonObjects,a根据b填充属性,。完成初始化,放入到一级缓存singletonObjects

AOP的代理过程,具体实现方法,以及底层Proxy的newProxyInsatance的三个参数在JDK代理和CGLIB代理的不同

不懂

怎么使用AQS实现公平锁和非公平锁?

aqs有一个state变量,线程获取锁status++,释放锁 –

非公平锁实现:
C直接尝试对这个status CAS(0,1)操作,并成功改变了status的值,B线程获取锁失败,再次挂起,这就是非公平锁,B在C之前尝试获取锁,而最终是C抢到了锁。
公平锁:
C发现有线程在等待队列,直接将自己进入等待队列并挂起,B获取锁

讲讲CAS原理

乐观锁是一种思想,CAS只是这种思想的一种实现方式。

Http和Https的区别?

简单来说,HTTPS是使用TLS/SSL加密的HTTP协议

HTTPS需要使用ca申请证书

传输协议上, HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的 SSL 加密传输协议

连接方式与端口上,http的连接简单,是无状态的,端口是 80; https 在http的基础上使用了ssl协议进行加密传输,端口是 443

Https的建立连接的过程

域名解析ip,三握手,发送请求,处理请求返回数据报,浏览器解析渲染页面,四挥手

tcp连接为什么需要三次握手?

保证双发都能收发数据,双工通信。

聊聊JMM

  • jmm:java内存模型,**不存在的东西,**是一个概念或者约定
  • 常见约定
  • 线程解锁前,共享变量立刻刷新会主存
  • 线程加锁前,比u需要读取主存中的最新值到工作内存中
  • 加锁和解锁是听一把锁
  • 线程有份 工作内存 和主内存

常用操作

image-20210928172917851

MySQL聚簇索引和非聚簇索引区别

解释什么是覆盖索引

问了cloud的熔断器Hystrix原理(没答上来)

不懂

Redis的持久化原理RDB和AOF

rdb定期存储一次,存入redis内存快照,可能导致没存数据丢失。

aof,把写操作写入日志,数据丢失时,根据日志恢复数据。

华资软件:

针对容器最基本的知识、以及简单排序出了一些题目(不太想列举了)

以下内容需要较强的实现的能力,自己看吧

广州速游:

Linux简单命令

手写单例、二分查找、设计定时器、SQL全、内、左连、右连

容器知识

字符串去重

遍历二叉树

知中后序求前

设计游戏例子算法

如何设计一个数据库,怎么设计索引

速游挂了,五十分钟,题目没写完

这基本上就是这几天面试的一个技术篇总结吧!大概就这样!


http://chatgpt.dhexx.cn/article/MUyBJq8M.shtml

相关文章

SQL Foundation(1--13)

1:关系数据库的由来: IBM的工程师Dr E F codd 的关系型数据库模型发表于1970 论文名称: A relational Model of data for Large Shared Data Bank (这个在wiki 和google上可以搜到) SQL: Structured query language: oracle官方…

一、快速入门 MongoDB 数据库

文章目录 一、NoSQL 是什么1.1 NoSQL 简史1.2 NoSQL 的种类及其特性1.3 NoSQL 特点1.4 NoSQL 的优缺点1.5 NoSQL 与 SQL 数据库的比较 二、MongoDB 基础知识2.1 MongoDB 是什么2.2 MongoDB 的体系结构2.3 MongoDB 的特点2.4 MongoDB 键特性2.5 MongoDB 的核心服务和工具2.6 Mon…

数据库总结(考研复试和期末复习皆可用)

数据库总结 点击下载该文档 密码:cqoq 本人自制了简答题的速记卡片 地址,大家可以参考使用。[下载Markji App 使用] 第一章 绪论 1.1 数据库系统概述 数据库管理系统(DBMS)的功能: 数据定义功能数据组织、存储和管理数据库操纵功能数据库的事务和运行…

一步步教你轻松学KNN模型算法

一步步教你轻松学KNN模型算法 ( 白宁超 2018年7月24日08:52:16 ) 导读:机器学习算法中KNN属于比较简单的典型算法,既可以做聚类又可以做分类使用。本文通过一个模拟的实际案例进行讲解。整个流程包括:采集数据、数据格式化处理、数据分析、数…

Oracle实战详解

Oracle实战详解 1.oracle介绍 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORA…

数据库|SQL / MySQL的基本理论用法

本文从数据库MySQL的数据类型、关系模型、增删改查语句、管理MySQL、实用SQL语句、事务等方面进行介绍。 数据类型 对于一个关系表,除了定义每一列的名称外,还需要定义每一列的数据类型。关系数据库支持的标准数据类型包括数值、字符串、时间等&#xf…

KNN模型算法研究与案例分析

KNN模型算法研究与案例分析( 白宁超 2018年8月29日15:39:13 ) 导读:机器学习算法中KNN属于比较简单的典型算法,既可以做聚类又可以做分类使用。本文通过一个模拟的实际案例进行讲解。整个流程包括:采集数据、数据格式化处理、数据分析、数据归…

SQL总结

目录 简介 在Android中存储数据有时会用到数据库,Android给我们提供了 一系列的API来操作数据库,非常简单,我们只需要输入对应的SQL语句,甚至不懂SQL语句,只传入对应的参数即可使用。还有一些第三方库,如G…

Windows开机启动项设置详解

一、开机启动原理 Windows系统都有一个“启动”文件夹,把需要打开的程序的快捷方式或脚本放到“启动”文件夹里,就可以实现开机自启动。 启动”文件夹分为两种:“系统启动文件夹”和“用户启动文件夹”。 系统启动文件夹 Win10系统“启动”…

「C#」设置开机启动

自己写了个监控键盘按键的小程序。 在界面上实时显示按下的键,但是想实现程序的开机自启如何实现呢。 开机自启动一种是在windows的“C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”家快捷方式。但是这种方法自测有时候不成功。…

centos7 设置开机启动项

高端的废话就是没有引言这种废话。 1.这里我已我的centos7为例输入: systemctl list-unit-files #查看开机启动表如图下: 最左边就是服务 ,最右边就是状态 。如当你想要服务器开机启动firewalld(防火墙)输入 system…

计算机怎么管理自启,电脑如何设置开机启动项

大家都知道将程序添加到开机启动项进入系统就可以自动打开了,但是有些流氓软件会强制进入开机启动项,这就导致电脑开机速度变慢,内存占用过多,运行卡顿的问题。下面,我就教大家如何设置开机启动 现在几乎家家户户都配备…

电脑设置开机

我们知道电脑可以通过修改系统任务计划来实现定时关机的功能,那么,能不能让电脑实现自动开机的功能呢?答案是可以的,我们可以通过BIOS设置,指定电脑在某个时间点自动开机,接下来,小编来介绍一下如何通过BI…

nginx 设置开机自启动

一、下载 在windows下实现开机自启动需要一个开源项目Windows Service Wrapper 来实现。 我用的是这个版本。 下载下来,放在Nginx根目录下 下载下来,放在Nginx根目录下,名字改为start-nginx.exe,再新建一个txt文件&#xff0c…

Win11开机启动项怎么调整,Win11开机启动项怎么设置

Win11开机启动项怎么调整?Win11开机启动项怎么设置?现在很多应用或软件下载安装之后默认都是开机自启的,如果开机自启的软件多了的话难免会导致系统开机速度变慢。最近有使用win11系统的小伙伴就遇到了这个问题,有网友想了解怎么设…

windows设置开机启动程序

1.新建文件,填写路径 echo off cd F:\程序路径\ //后面填写3D所在的路径 F: //程序的个盘符 run.bat把这个文件填写完成后,改个名字,后缀改为bat,并把这个文件放在机房的程序目录下 2.设置开机计划任务 windows 7 在【开始】菜单中,输入【任务计划】&#xf…

计算机软件自启动设置,设置开机启动项,详细教您电脑如何设置开机启动项

身边不少朋友买了电脑都在比拼电脑开机速度,一般新电脑开机启动时间保持在30s左右就已经很不错了,不过不少朋友电脑开机时间需要1分多钟,不少朋友的答案的设置开机启动项目,尽量减少程序开机启动,那么如何优化提升电脑…

Windows 三种开机自启动的设置方式(全面)

一、修改注册表的方式 进入注册表,点击任务栏开始,输入regedit.exe,进入[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]位置后,新建一个二进制字符类型的项,数值数据位置填入所需开机自启动的应…

linux设置开机启动脚本的3种方法

Linux 下设置开机启动的三种简单但可行的开机启动设置方法。 方法一:修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里…

Win11怎么设置开机启动项?

我们在使用电脑的时候经常会打开非常多的软件,而每次开机都需要手动去点击,就会变得非常的麻烦,那么在Win11操作系统中我们应该怎么设置呢?其实方法非常简单,下面小编就带着大家一起看看吧! 操作方法&#…