针对面试

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中的垃圾回收机制

    1. 什么样的对象会被当做垃圾回收?

      当一个对象的引用(地址)没有变量去记录的时候,该对象就会成为垃圾对象,并在垃圾回收器空闲的时候对其进行清扫

    2. 如何校验对象是否被回收?

      重写类中的finalize方法,这个方法在垃圾回收器执行的时候,会调用垃圾对象的finalize方法

    3. 怎样通知垃圾回收器回收对象?

      可以调用System类的静态方法gc()

      System.gc() 通知垃圾回收器来清理垃圾

    4. 虚拟机如何判断哪些对象需要回收呢

      根搜索算法

    5. 应用场景

      • 尽量不要创建很大的对象
      • 不要频繁的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

  1. 引入依赖jar包

  2. 设置springboot配置文件:application.yml

  3. 我们看一下前端难还是后端难:先写前端

  4. 创建实体类

  5. dao层 接口继承tk_mybatis的mapper

  6. service层

  7. controller层

demo_front

  1. 实现主体内容跳转
  2. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值