linux
计算机网络
基本的数据结构
\1. 统招本科及以上学历(硬性要求),计算机软件开发等相关专业,熟练掌握Java语言,有相关工作经验和团队管理经验者优先;
\2. 熟悉java的web开发、关系型数据库、基本的数据结构、计算机网络,能较快地熟悉Linux系统、tcp/ip协议;
\3. 能够快速熟悉产品,并能独立编写核心代码,具备较强的逻辑思维能力和独立工作能力;
\4. 强责任心,积极上进,勇于承担责任,有克服困难的勇气和良好的团队合作精神;
\5. 对研发事业有热情,具有良好的开发习惯,追求优异的编程质量。
云存储和网关这块业务
云盘简直就是大家随时随地共享资料和数据永不丢失的港湾
-
为什么偶尔能够秒传,偶尔不能?
因为相同的文件不需要进行重复的存储,
客户端会针对你将要上传的文件做一次MD5校验,
当发现有这个文件时,就能够秒传,给你一个快捷方式即可。
因为整个云盘系统里面本来就有这个文件,
所以干脆给你一个快捷方式,简单快速。
只需要服务端生成token,客户端保存这个token,每次请求携带这个token,服务端认证解析就可。
-
TCP和UDP协议的区别以及对HTTP协议的理解。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdznjYVx-1602545233598)(C:\Users\Administrator\Desktop\TCP.PNG)]
计算机网络系统被分为4层,从底层到顶层分别为:
网络接口层,网际层,传输层,应用层。
我们的TCP和UDP是传输层的协议,而HTTP协议是处在应用层的协议。
客户端服务端体系底层是基于TCP协议的
邮件发送,短信发送等底层使用的是UDP协议
HTTP协议,客户端、服务端体系的程序都使用HTTP协议来规范通信
-
Java中的垃圾回收机制
-
什么样的对象会被当做垃圾回收?
当一个对象的引用(地址)没有变量去记录的时候,该对象就会成为垃圾对象,并在垃圾回收器空闲的时候对其进行清扫
-
如何校验对象是否被回收?
重写类中的finalize方法,这个方法在垃圾回收器执行的时候,会调用垃圾对象的finalize方法
-
怎样通知垃圾回收器回收对象?
可以调用System类的静态方法gc()
System.gc() 通知垃圾回收器来清理垃圾
-
虚拟机如何判断哪些对象需要回收呢
根搜索算法
-
应用场景
- 尽量不要创建很大的对象
- 不要频繁的new生命周期很短的对象
-
2020年9月15日面试总结
这一次面试我的hr是主要负责c和python的,所以问得Java技术问题并不多。
-
你觉得Java对比c的优势在哪里?
-
全栈不光是前端和后端,还有运维方面也要掌握。
-
你的职业规划是什么?
目前应该先入门这个岗位,其次我想在不断积累后端经验的基础上,往全栈方向发展,为公司创造价值的同时,当然也希望得到晋升的机会。
-
你能给我们大致介绍一下你的项目吗?
-
你说你对前端感兴趣,但是公司不需要你做前端,我们有专门的前端工程师。
学习前端肯定是有益无害的,如果我也能够达到前端工程师的要求,将来公司在前端开发的人力资源方面有欠缺的话,我也能去担任这一职责,为公司节省人力成本
冒泡排序
思想:以升序进行举例,就是将第一个位置i与后一个位置i+1比较,如果i大于i+1的话,i与i+1换位置,然后i+1这个位置与i+2这个位置的值比较,总之大的往后换,知道最后确定一个最大值,每次循环都能确定一个最大值。总共需要 数组长度-1 次循环。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOKVGHXu-1602545233601)(C:\Users\Administrator\Desktop\冒泡排序.PNG)]
public static void main(String[] args) {
// 1. 创建数组
int[] arr = {9, 6, 5, 10, 7, 8, 3, 9, 10, 23, 89, 23, 43};
// 2. 冒泡程序
int temp;
for (int i = arr.length-1; i>0; i--) {
for (int j = 0; j<i; j++){
if(arr[j] < arr[j+1]) {
// 交换
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
最佳情况时间复杂度为O(n)的情况:
public void bubbleSort(int arr[]) {
boolean didSwap;
for(int i = 0, len = arr.length; i < len - 1; i++) {
didSwap = false;
for(int j = 0; j < len - i - 1; j++) {
if(arr[j + 1] < arr[j]) {
swap(arr, j, j + 1); // 交换
didSwap = true;
}
}
if(didSwap == false)
return;
}
}
作品
简单介绍一下你的项目
系统管理员,销售主管,客户经理,高管
面试官您好,我叫陈健,本科毕业于云南大学旅游文化学院,在招聘网上看到公司招聘的这个职位,觉得自己比较适合Java开发的岗位,所以来这里争取一下这个机会。我从大学时期开始接触的Java,主要做过的一个CRM项目和一个电商的支付系统的开发。这两个项目后端都是基于springboot框架,前端的话CRM项目采用layui框架,电商采用Vue框架进行完成的。所以呢我对Java语法、集合框架、数据库、以及web开发的一些主流的开源框架,例如spring、springmvc、mybatis、springboot等都是比较熟悉的。
CRM项目主要用于管理客户相关的信息活动。我主要做的是CRM项目里营销管理和客户管理的部分,这个项目中主要有系统管理员,销售主管,客户经理,高管这几个角色。营销管理的话主要是销售主管将销售机会分配给客户经理,由客户经理撰写开发计划去挖掘这个客户。客户管理的话主要由基本的信息管理,历史订单管理,以及6个月没有下单的客户会提出预警,进入客户流失管理,对于流失的客户可以追加暂缓流失的措施。
2020年10月9日面试总结
一个列表+增删查改详细五个操作,其中,新增、修改在弹窗中完成,做这个单模块操作,你需要多少时间。
机试,就是你自带电脑,用自己最熟悉的开发环境和框架,我们给业务需求考题,现场完成。规定时间为四个小时。考试题目不会太难,但要求后端和前端(可以不用框架只用CSS)同时完成,主要测试基本功和熟练度。
我们就以畅购的表为练习,layui为前端!!
以品牌表为前提,显示列表,有增删改查详细 五个操作,其中增加和修改在弹窗中完成。
demo_back
-
引入依赖jar包
-
设置springboot配置文件:application.yml
-
我们看一下前端难还是后端难:先写前端
-
创建实体类
-
dao层 接口继承tk_mybatis的mapper
-
service层
-
controller层
demo_front
- 实现主体内容跳转
- brandadmin operation(操作)
@MapperScan(basePackages = {"com.guangruan.demo_back.mapper"})
/**
* 根据查询条件查询品牌,结果进行分页
* @param searchMap
* @param pageNo
* @param pageSize
* @return
*/
Page searchPage(Map<String, String> searchMap, int pageNo, int pageSize);
要导入tk的mybatis包
import tk.mybatis.spring.annotation.MapperScan;
layui返回正确的code应该是0,才能显示数据
#设置端口号
server:
port: 9011
# 配置数据库连接
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/changgou_goods?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: chenjian123
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 配置Mybatis的设置:
mybatis:
configuration:
map-underscore-to-camel-case: true # 运行使用驼峰命名
mapper-locations: classpath:mapper/*.xml # 设置别名
type-aliases-package: com.anuo.springboot_mybatis.pojo # 注册mapper
tdout.StdOutImpl
```yml
# 配置Mybatis的设置:
mybatis:
configuration:
map-underscore-to-camel-case: true # 运行使用驼峰命名
mapper-locations: classpath:mapper/*.xml # 设置别名
type-aliases-package: com.anuo.springboot_mybatis.pojo # 注册mapper