10.6:面试准备

news/发布时间2024/8/25 6:58:16

边学边找工作了,怕什么!路在脚下;

谈谈你工作中的开发流程和日常是什么?

0、项目成员【3个后端、1个前段、1个UI、1个测试、产品经理】
1、周一至周五早上项目成员讲述自己任务进行的情况以及分配接下来的任务,周四下午会开一个项目总结会议;
2、产品经理会会对第一期项目进行模块的划分,UI和技术leader根据产品经理提供的原型图进行UI设计和项目框架的搭建和数据库表的设计从而确定架构和需要使用的工具软件;
3、前段会根据UI提供的PSD图进行切割成HTML和app页面;后端提供接口和接口文档开始对接工作;
4、技术leader会搭建测试、开发、生产环境;
5、最后就是测试人员进行测试将bug提交给对应的项目组成员,然后进行问题修复;

你项目开发多久?

我目前做过的项目大多都是3个月左右,这个具体要看产品经理对模块的设计以及技术的难易情况;

你网站日活是多少在线用户和tps是多少?

我们主要针对的是企业是属于B2B模式,其实在线用户量并不是很大,日活高峰大约3000人,同时在线的话大约200-400人;

1.项目线下运行,如何做到不停服务进行发布和部署?

使用Nginx 和 集群方式进行发布和部署【其实这块是技术leader和测试运维团队来完成,我主要就是协助发布和部署】;
原理:使用Nginx对Tomact进行集群化,Tomcat有3个节点,轮着停服启动。也可使用一些容器化技术比如【docker和k8s进行发布和部署】

2.谈谈你对项目框架Spring/Springmvc/Springboot/Mybatis的认识和理解,或者运行原理?

Spring:

1、Spring是Java企业级的开源开发框架,用于简化Java企业级应用的开发;
2、SpringIOC: 控制反转是一种思想【上层控制下层】;
3、SpringDI: 是一种实现方式,依赖注入就是把底层类作为参数传递给上层类,实现上层对下层的【控制】;注入方式有:Setter注入、接口注入、构造方法注入、注解注入
4、Ioc容器:避免在各处使用new来创建类,IOC自动创建对象进行注入,并且可以做到统一维护;

5、Spring的BeanDefinition:
扫描Bean的配置生成Bean的初始设置模型放到BeanDefinitionMap中然后生成Bean;
6、Spring如何解决Bean的循环依赖:

SpringBoot

1、你对SpringBoot的理解?
简化配置、约定大于配置,
2、SpringBoot的自动装配原理?

1.7的HashMap和1.8的HashMap有什么区别:

类加载机制:

双亲委派机制:一个类收到了类加载请求,首先他不会尝试自己去加载这个类,而是把请求委派给父类去完成,因此所有的加载请求都应该传送到启动类加载中,只有父类加载器无法完成这个请求【加载路径下没有找到所需加载的Class】,子类加载器才会尝试自己去加载;
优点:避免类的重复加载防止核心API库被随意篡改;

JVM内存区域:

线程私有:栈【运行时创建存储声明的变量,生命周期和线程相同】、程序计数器【当前线程所执行的行号指示器】、
线程公用:堆【虚拟机启动时创建的对象实例,垃圾回收GC】、方法区【类的信息、常量、静态变量;很少发生GC】

讲一下垃圾回收:

垃圾回收是:JVM在后台自动回收中不再使用的内存【对象的地址没有变量引用时】从而提高编程效率;
垃圾回收前会主动调用对象的finalize()方法,也可以手动通过System.gc()或者Runtime.getRuntime().gc()告诉系统进行垃圾回收【但系统不一定执行】

讲一下垃圾回收算法:

1、引用计数法:对象没有任何关联引用则计数为0,可以被回收;
2、可达性分析:对象和GCroot是否存在一个可达路径【二次确认后】,标记为可回收对象;
3、标记清除法:标记无用内存并清除【缺点:内存碎片化严重,无法存放大对象问题】
3、标记复制算法:总内存分为2块,其中一块内存满了后将有用该内存复制到另一块内存上去,解决了内存碎片化问题【缺点:但是可用内存被压缩了一半,当存在大量可用内存的话效率很低】
4、标记整理算法:将存活的对象移向内存的一侧,然后清除内存外侧的对象;将垃圾整理出来,然后一块扔掉
5、分代收集算法:老生代【每次垃圾回收只有少量对象被回收】,新生代每次垃圾回收只有少量对象被回收。

java引用:

1、强引用:最常见,把一个对象赋值给引用变量,永远不会被GC回收,是导致内存泄漏的主要原因【OutOfMemoryError】
2、软引用:使用SoftReference类实现,内存不足时被回收;
3、弱引用:使用WeakReference类实现,只要GC运行就会把弱引用回收;
4、虚引用:使用PhantomReference类来实现,不能单独使用,必须和引用队列联合使用,跟踪对象被垃圾回收的状态;

java数据类型:

基本数据类型:byte,short,int,long,float,double,boolean,char【1,2,4,8,4,8,1,2】;
其他都是引用类型,龙;

将项目添加到版本控制:

git上面新建一个仓库,然后在本地初始化这个仓库并push一次到远程仓库进行同步;
然后把项目放到这个仓库中。

并发和并行是什么意思?

并行:多个事件在同一时刻发生,对CPU资源没有抢占、等待行为;
并发:多个任务在同一时间段交替执行,对CPU资源进行抢占,并发操作系统会根据任务调度系统给线程分配线程的CPU执行时间,线程的执行会切换;

MySql

线程问题

1、线程状态有哪些?

2、创建线程的方式?

3、

基础【集合框架底层源码】 - 广度【使用和基本原理】 - 深度

JUC问题Synchomized、偏向锁、轻量级锁、重量级锁、锁升级流程、ReentrantLock、AQS、CAS【暂不去了解】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.liansuoyi.cn/news/44256356.html

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

面向对象的三个基本特征:封装、继承、多态

封装 在面向对象编程中,封装是一种将数据和相关操作封装在一个单元内部的概念。它通过将数据和方法组合在一个类中,隐藏了内部实现的细节,只暴露了必要的接口给外部使用。 封装的目的是保护数据的完整性和安全性,同时提供一个清晰的接口供其他对象进行交互。通过封装,我们…

python断言封装

代码:class AssertUtil:def __init__(self, assert_type, assert_text, expected_text=None):self.assert_type = assert_typeself.assert_text = assert_textself.expected_text = expected_textdef text_assert(self):"""检查expected_text是否存在于text中使…

【TinyWebServer】12注册登录

整体概述 本项目中,使用数据库连接池实现服务器访问数据库的功能,使用POST请求完成注册和登录的校验工作。 本文内容 本篇将介绍同步实现注册登录功能,具体的涉及到流程图,载入数据库表,提取用户名和密码,注册登录流程与页面跳转的的代码实现。 流程图 具体的,描述了GET…

SDU Open 2023-H、几何、积分、单调栈维护上凸壳

SDU Open 2023-H、几何、积分、单调栈维护上凸壳 题目:https://codeforces.com/gym/104324/problem/H 题意:有 \(n\) 个信号基站,你在边玩手机边走路,手机会自动连接到最近的基站。单位时间花费的流量是到基站距离的平方,现在从起点沿着直线走到终点,并且走的都是横平竖直…

工厂模式

工厂模式顾名思义,工厂就是用来统一创建产品的。我们的工厂根据产品是具体产品还是工厂可以分为简单工厂模式和工厂方法模式,根据抽象程度可以分为工厂方法模式和抽象工厂模式。工厂模式的核心本质是:实例化对象不使用new,用工厂方法替代 将选择实现类,创建对象统一管理和…

可达模拟赛9F

给你长为 \(n\) 的正整数数组 \(a_i\) ,让你从中找有多少对 \((i,j)\) 满足 \(a_i,a_j\) 互质 \(n \leq 10^6\)不错的一道题 考虑枚举 \(j\) ,看前面有哪些数和他互质。这时候问题看起来很像一个非常经典的问题:问前 \(x\) 个数中有多少数是 \(2\) 的倍数或 \(3\) 的倍数。 …

武汉大学2023年新生程序设计竞赛(同步赛)

C. 覆叶之交(线段树+离散化+扫描线)输入格式:输出格式:输入0 0 2 3 0 0 3 2 -1 -1 1 1输出11说明线段树+离散化+扫描线 #include<bits/stdc++.h> #define IOS ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr) #define lowbit(ver) ver&(-ver) #…

实践一下前几天的wordCount案例

1、自己准备一个数据量比较小的txt文件然后将其上传到虚拟机本地:之后上传到hdfs里面:2、编写代码 1、引入相关依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common --><dependency><groupId>org.apache.h…

实验1 C语言输入输出和简单程序编写

实验1 实验1-11 // 打印一个字符小人2 3 #include <stdio.h>4 int main() 5 {6 printf(" O \n");7 printf("<H>\n");8 printf("I I\n");9 printf(" O \n"); 10 printf("<H>\n"); 11 …

[Qt] vs 2022写qt解决常量中有换行符编译报错问题!

像上面这种问题是由于文件的编码格式是中文(GB2312)格式,导致编译报错。 在VS中,改成UTF-8就能解决。1. 点击VS菜单栏的高级编译选项低版本的在"文件"菜单选项下面,VS2022需要自己手动开启显示 (1) 工具 -> 自定义选择工具, 选中菜单栏添加命令类别选择"文…

算法之动态规划(DP)求解完全背包问题(状态转移式方程推导)

完全背包是01背包的进阶版。在这里补充一下代码随想录的完全背包状态转移式的推导。有兴趣的可以先看一看原版。状态转移方程 状态:dp[i][j] 选择前i个物品,容量为j的背包时 所选物品价值总和最大。 状态转移: dp[i][j]=max(dp[i-1][j-k* v[i]]+k* w[i]) (k=0,1,2,3...) (j…

反射:运行时类信息

反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。 反射:将类的各个组成部分封装为其它对象,这就是反射机制。好处可以在程序运行过程中,操作这些对象。 可以解耦,提高程序的可扩展性。获取Class对象的方式:1. Class.forName("全类…

@RequestBody注解

用途用于接收前端传递给后端的 json 字符串中的数据。(处理json格式的数据) @RequestBody用来接收前端传递给后端的json字符串中的数据,GET方式的请求一般通过URL中携带key-value参数,而@RequestBody接收的是请求体中的数据(json格式的数据,只有请求体中能保存json),所…

嵌入式linux运行程序 -sh ./xxx: not found 解决办法

问题分析在嵌入式Linux环境下,运行应用程序,提示”-sh: ./xxx : not fount” 出现该问题是因为缺少动态链接库,通过”ldd xxx”指令查看缺少的库。 库文件从哪里来,需要拷贝在哪里?找到我们搭建的交叉编译环境目录,我安装在“/usr/local/arm/”目录中。进入目录中可以查…

线程数对samtools对bam文件构建索引速度的影响

001、(base) [b20223040323@admin1 test]$ ls ERR2985610.sorted.markdup.bam ## 1 线程 (base) [b20223040323@admin1 test]$ time samtools index -@ 1 ERR2985610.sorted.markdup.bamreal 1m3.268s user 1m35.792s sys 0m5.750s …

芯片制造与测试技术杂谈

芯片制造与测试技术杂谈 FinFET与芯片制程 芯片制造商已经在基于 10nm 和/或 7nm finFET 准备他们的下一代技术了,但我们仍然还不清楚 finFET 还能坚持多长时间、用于高端设备的 10nm 和 7nm 节点还能延展多久以及接下来会如何。 在 5nm、3nm 以及更小节点,半导体行业还面临着…

Different HPC-focused containerization solutions

1. Why WASM containerzation in HPC systems recommended in the paper in the "privilege aspect" 2. How functions in Wasm be implemented"目录Abstract from paperWhy choose WASM as an alternative in the privilege aspectWhat is fakerootSingularity…

Different HPC-focoused containerization solutions

1. Why WASM containerzation in HPC systems recommended in the paper in the "privilege aspect" 2. How functions in Wasm be implemented"目录Abstract from paperWhy choose WASM as an alternative in the privilege aspectWhat is fakerootSingularity…

java多线程编程入门

概念 即异步编程 创建线程 继承Thread对象,重写run方法实现Runnable接口 可以使用lambda表达式简化返回结果的线程,实现Callable接口 s 线程安全 定义 多个线程同时访问同一共享资源造成错误的现象 线程锁synchronized 通常使用this指针作为同步锁,静态函数常使用:类.class上…

Docker Compose V2 安装常用数据库MySQL+Mongo

主要增加对容器创建 MySQL、Mongo 时对 数据文件,日志,配置,网络,时区,端口映射,密码 的配置,更贴合生产环境的实际使用前言书接上篇:Docker V24 及 Docker Compose V2 的安装及使用 本篇操作都在 centos8 虚拟机 devops01 中进行,并都归属网络:devopsnetwork 主要增…
推荐文章