title: 2021.4.7 美团买菜后端开发实习生(二面)
tags: 面经


2021.4.7 美团买菜后端开发实习生(二面)

自我介绍
Java学习时长
final关键字的作用(见下文)
注解有什么作用?怎么来实现一个注解?(见下文)(当时回答不会)
Java中的内部类和静态内部类的区别?(见下文)
MySQL的存储文本有哪些呢?(当时回答不会)(见下文)
MySQL的存储时间?(见下文)(当时回答不会)
手撕算法题---求解立方根(见下文)
你为什么想学习Java呢?
你能介绍一下hadoop吗?
你了解python如何去处理二进制数据的方法呢?(当时回答不会)
反问环节。

1.1 final 关键字的作用

① final 修饰变量:如果是基本数据类型的变量,则其数值⼀旦在初始化之后便不能更改;如果是引⽤类型的变量,则在对其初始化之后便不能再让其指向另⼀个对象。

② final 修饰类:表明这个类不能被继承。

③ final 修饰方法:将方法锁定,以防任何继承类修改它的含义。

1.2 注解的作用以及如何来实现一个注解?

参考博客:JAVA 注解的几大作用及使用方法详解

(1)注解的作用

1.生成文档。这是最常见的,也是java 最早提供的注解。**常用的有@see @param @return 等;

2.跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量;

3.在编译时进行格式检查。如@Override放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出;

(2)如何实现一个注解:

注解这一块只能跟着java中的反射机制一起去看!(更多的参考上面的博客)

1. 要用好注解,必须熟悉java 的反射机制,从上面的例子可以看出,注解的解析完全依赖于反射。

2. 不要滥用注解。平常我们编程过程很少接触和使用注解,只有做设计,且不想让设计有过多的配置时。

1.3 MySQL的存储文本有哪些呢?

参考博客:mysql 存储文本_mysql储存文字用什么

有三种类型:char、varchar、text、BLOB

① CHAR(M): 为固定长度字符串,在定义时指定字符串列长。当保存时,在右侧填充空格以达到指定的长度。M 表示列的长度,范围是 0~255 个字符。

例如,CHAR(4) 定义了一个固定长度的字符串列,包含的字符个数最大为 4。当检索到 CHAR 值时,尾部的空格将被删除。

② VARCHAR(M):是长度可变的字符串,M 表示最大列的长度,M 的范围是 0~65535。VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1。

例如,VARCHAR(50) 定义了一个最大长度为 50 的字符串,如果插入的字符串只有 10 个字符,则实际存储的字符串为 10 个字符和一个字符串结束字符。VARCHAR 在值保存和检索时尾部的空格仍保留。

③ TEXT:TEXT 列保存非二进制字符串,如文章内容、评论等。当保存或查询 TEXT 列的值时,不删除尾部空格。

TEXT 类型分为 4 种:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。不同的 TEXT 类型的存储空间和数据长度不同。

TINYTEXT 表示长度为 255(28-1)字符的 TEXT 列。

TEXT 表示长度为 65535(216-1)字符的 TEXT 列。

MEDIUMTEXT 表示长度为 16777215(224-1)字符的 TEXT 列。

LONGTEXT 表示长度为 4294967295 或 4GB(232-1)字符的 TEXT 列。

④ BLOB:blob 保存的是二进制数据,利用这个特性,可以把图片存储到数据库里面。

1.4 MySQL的存储时间?

DateTime:没有时区信息,一旦时区更换,时间就会发生错误。DateTime耗费空间更大,耗费8个字节。

Timestamp:和时区有关。会随服务器时区的变化而变化。TimeStamp耗费4个字节,但是表示时间范围更小。

在《高性能MySQL》一文中推荐使用Timestamp

1.5 手撕算法题—求解立方根

这种类型的题目的解法可以参考我的博客:题目:任意给定一个浮点数,计算这个浮点数的立方根。(基于二分法和牛顿迭代法)(基于Java实现)

import java.util.Scanner;public class MeiTuan {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (true) {double num = sc.nextDouble();System.out.println(String.format("%.8f", Solution1(num)));System.out.println(String.format("%.8f", Solution(num)));}}//根据二分法进行解题public static double Solution1(double num){double min = 0;double max = num;double mid = 0;while((max - min) > 0.000001){mid = min + (max - min) / 2;if(mid * mid * mid > num){max = mid;}else if(mid * mid * mid < num){min = mid;}else{return mid;}}return mid;}//根据牛顿迭代法进行解题public static  double Solution(double num){double x = 1;double x1 = x - (x * x * x - num) / (3 * x * x);while((x - x1) > 0.000001 || (x - x1) < -0.000001){x = x1;x1 = x - (x * x * x - num) / (3 * x * x);}return x1;}
}

输出结果:

3
1.44224954
1.4422495756
3.82586277
3.825862379
2.08008367
2.080083828
2.00000000
2.00000000

2021.4.7 美团买菜后端开发实习生(二面)(含总结)(已oc)相关推荐

  1. 2023-01-05 长亭科技 Go 后端开发实习生二面

    由于面试官前几天

  2. 整理几个叮咚抢菜、美团买菜助手

    开发者(KaiFaX) 面向全栈工程师的开发者专注于前端.Java/Python/Go/PHP的技术社区 整理几个买菜的助手App: 1.叮咚买菜插件 插件比手动下单更慢,不推荐在高峰期使用,可以在高 ...

  3. 美团买菜基于 Flink 的实时数仓建设

    摘要:本文整理自美团买菜实时数仓技术负责人严书,在 Flink Forward Asia 2022 实时湖仓专场的分享.本篇内容主要分为四个部分: 背景介绍 技术愿景和架构设计 典型场景.挑战与应对 ...

  4. 美团买菜:采购量提升至平时3-4倍 提供无接触配送服务

    6月13日晚间,美团买菜发布公告称,第一时间沟通协调产地和供货商,已将采购量提升至平时的 3-4 倍,以保障北京市场的食材供应. 美团方面表示,美团买菜所售商品均来源于正规的供货渠道,并严格执行相关检 ...

  5. 继上海之后 美团买菜在北京推出测试服务站

    [TechWeb]3月26日消息,继上海之后,美团买菜今天在北京开启测试.据悉,目前美团买菜并没有覆盖全北京,而是在天通苑.北苑两大居民区分别开通了便民服务站,将为服务站周边1.5公里之内的社区居民提 ...

  6. 青龙面板—-美团买菜

     本博主QQ交流群:780135601 -------------------点击跳转 一.下载美团买菜 自行应用商店下载吧,安卓 ios 都有 二.上传脚本到青龙 这次需要上传两个文件 一个是脚本. ...

  7. 重金砸下近100亿,美团买菜正在偷偷做这件事

    2020年的下半年,生鲜电商的社区团购大战算是彻底火了,橙心优选.美团买菜.多多买菜.叮咚买菜等等蜂拥而入,各种砸钱.砸流量,争得不亦乐乎. 不到一年的时间,各自就砸进了数十亿.数百亿的资金,这些电商 ...

  8. 【软件创新实验室2021年寒假集训】Java后端开发漫谈及感悟分享

    系列文章目录 [软件创新实验室2021年寒假集训]汇总篇 20级Java培训 第一天:[软件创新实验室2021年寒假集训]Java技术培训--Java前置知识学习 第二天:Java基础(一) 第三天: ...

  9. 手机菜篮子风口已来,美团买菜究竟靠谱不靠谱?

    互联网行业从来就不缺乏创新者与挑战者,在传统的"菜市场"生意上也不例外. 最近,美团买菜正式进军武汉市场,成为继上海.北京后的第三个试点城市.在这座千万人口大城,美团买菜又是如何考 ...

最新文章

  1. Django View(视图系统)
  2. elasticsearch Java API 索引API
  3. Scala类构造方法的参数可以作为属性来使用
  4. HIVE入门之数据模型
  5. 【递归】桐桐的递归函数
  6. 20162329 张旭升 2017 - 2018 《程序设计与数据结构》第五周总结
  7. (转) 淘淘商城系列——redis-desktop-manager的使用
  8. [ios开发]锁屏后的相机的方向检查,与图片的自动旋转
  9. IGMP SSM Mapping原理与实验
  10. 内存延续分派治理方法
  11. vfpodbc.dll下载, 各版本下载,包含所有版本
  12. 关于趋势科技防毒墙网络版的卸载
  13. 如何改变Android-studio中的APP的名字和图标
  14. PNP三极管限流电路分析
  15. 增长黑客手册——03
  16. 3.0_Linux如何连接网络
  17. python异常大总结
  18. 硬盘底座linux,ORICO推出全透明硬盘底座、移动硬盘盒
  19. 计算机软件硬件结构造图,个人计算机的存储器系统 说说内核与计算机硬件结构(3)...
  20. 苹果发布会说明了什么?

热门文章

  1. CentOS 7 安装 Jenkins
  2. encountered end of file_需要给自己一个end
  3. 备战2022秋季“金三银四”跳槽必备:软件测试面试题,贡献给需要的小伙伴,最后有惊喜哦
  4. php运行cpu利用率低,PHP-如何减低php程序的cpu使用率?
  5. 一个mac地址对应多个ip_一个关于IP与mac地址绑定的故障
  6. python 按键获取_Python中按键来获取指定的值
  7. java8新特性_Java8新特性之Date API|乐字节
  8. 交互设计中的c和php,c/s是一种重要的网络计算机模式,其含义是什么
  9. jeesite如何已生成数据的数据源_使用Jeesite进行二次开发
  10. Jenkins + sonarqube集成实现发布代码审计