最后
毕竟工作也这么久了 ,除了途虎一轮,也七七八八面试了不少大厂,像阿里、饿了么、美团、滴滴这些面试过程就不一一写在这篇文章上了。我会整理一份详细的面试过程及大家想知道的一些问题细节
美团面试经验
字节面试经验
菜鸟面试经验
蚂蚁金服面试经验
唯品会面试经验
因篇幅有限,图文无法详细发出
### (二)官方案例初步写法:
主要属性:`initialValues`(必须,否则会出现[错误](#initValue)),`validate`,`onSubmit`,`onChange`等。
案例是一个邮箱、密码框的情景。
我们可以从中看出**自定义校验**如何规定、errors 如何设置错误提示信息。
import React from ‘react’;
import { Formik } from ‘formik’;
const Basic = () => (
Anywhere in your app!
export default Basic;
### (三)官方案例进阶写法:
However, to save you time, Formik comes with a few extra components to make life easier and less verbose: `<Form />, <Field />, and <ErrorMessage />`. They use React context to hook into the parent `<Formik />` state/methods.
按照官方说法,上述案例可以更加**缩减**,直接使用标签,使用React的上下文传递父组件的 state 或者方法:
import React from ‘react’;
import { Formik, Form, Field, ErrorMessage } from ‘formik’;
const Basic = () => (
Any place in your app!
export default Basic;
`initialValues`(必须,否则会出现[错误](#initValue)),`validate`,`onSubmit`这些属性的值可以提取为变量,在外面写,如下:
const initialValues = {
firstName: ‘’,
lastName: ‘’,
email: ‘’,
};
const validate = values => {
const errors = {};
if (!values.firstName) {
errors.firstName = ‘Required’;
} else if (values.firstName.length > 15) {
errors.firstName = ‘Must be 15 characters or less’;
}
if (!values.email) {
errors.email = ‘Required’;
} else if (!/1+@[A-Z0-9.-]+.[A-Z]{2,4}$/i.test(values.email)) {
errors.email = ‘Invalid email address’;
}
return errors;
};
const onSubmit = values => {
alert(JSON.stringify(values, null, 2));
};
const SignupForm = () => {
const formik = useFormik({
initialValues,
validate,
onSubmit,
});
return (
{…}
)}
**开发中遇到的问题:**
1. values 获取不到表单的值。拿到的是一个Object对象,里面包含表单里面的处理方法等。
# Kafka实战笔记
> **关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图**
![image.png](https://img-blog.csdnimg.cn/img_convert/c82608350d0158a34f1bbd7c0a3460b8.webp?x-oss-process=image/format,png)
* **Kafka入门**
* **为什么选择Kafka**
* **Karka的安装、管理和配置**
![image.png](https://img-blog.csdnimg.cn/img_convert/e92319c8b13772cc355cd6cbb8ae2ace.webp?x-oss-process=image/format,png)
* **Kafka的集群**
* **第一个Kafka程序**
* ![image.png](https://img-blog.csdnimg.cn/img_convert/f99a79b0b1401e2498bc6e36c3fbc019.webp?x-oss-process=image/format,png)
afka的生产者
![image.png](https://img-blog.csdnimg.cn/img_convert/ce84c2b9a4ca87fae1acfeb0ddbd350d.webp?x-oss-process=image/format,png)
* **Kafka的消费者**
* **深入理解Kafka**
* **可靠的数据传递**
![image.png](https://img-blog.csdnimg.cn/img_convert/6d10a4681c6c7313a1ebf6b589a700fc.webp?x-oss-process=image/format,png)
![image.png](https://img-blog.csdnimg.cn/img_convert/6fcd27b04a76a65df962d8d18a056980.webp?x-oss-process=image/format,png)
* **Spring和Kalka的整合**
* **Sprinboot和Kafka的整合**
* **Kafka实战之削峰填谷**
* **数据管道和流式处理(了解即可)**
![image.png](https://img-blog.csdnimg.cn/img_convert/22392c34ccd263ab242b7702efb465e7.webp?x-oss-process=image/format,png)
* **Kafka实战之削峰填谷**
![image.png](https://img-blog.csdnimg.cn/img_convert/5dc0a0ec5fc9aefdb8e5d090b1f0e872.webp?x-oss-process=image/format,png)
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
中...(img-x66kKSmF-1715626480388)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
A-Z0-9._%± ↩︎