Day208,字节跳动面试

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

:inline=“true”

class=“demo-form-inline”

style=“margin-left: 20px; margin-top: 12px”

<el-input

v-model="courseQuery. "

placeholder=“请输入名称”

<el-button type=“primary” icon=“el-icon-search” @click=“getList()”

查询</el-button

<el-button type=“default” @click=“resetData()”>清空

  • 效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DAy3cxmW-1614694435638)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302154235228.png)]


三、课程列表中的编辑课程基本信息、编辑课程大纲功能


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yBfsstqj-1614694435639)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302154705981.png)]

  • 前端

<el-button type=“primary” size=“mini” icon=“el-icon-edit”

编辑课程基本信息</el-button

<el-button type=“info” size=“mini” icon=“el-icon-edit”

编辑课程大纲</el-button

  • 修改路由

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5nOTdrsA-1614694435641)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302154759229.png)]

  • guli-admin\src\views\edu\course\chapter.vue

根据连接中是否有id值来决定是否回显数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZZjzUaOB-1614694435642)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302154833090.png)]

  • guli-admin\src\views\edu\course\info.vue

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWzpyMOm-1614694435643)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302154904748.png)]


阿里云视频点播

=================================================================

一、介绍


参考文章:

https://blog.csdn.net/qq_33857573/article/details/79564255


视频点播( ApsaraVideo for VoD )是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分

发加速于一体的一站式音视频点播解决方案。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0s7QbAnD-1614694435645)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302155416142.png)]

二、开通视频点播云平台


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hA3CS0ed-1614694435646)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302155221331.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xO6UQJE0-1614694435648)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302155340566.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q71we98w-1614694435649)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302155435503.png)]

资费说明

https://www.aliyun.com/price/product?spm=a2c4g.11186623.2.12.7fbd59b9vmXVN6#/vod/detail

  • 后付费

  • 套餐包

  • 欠费说明

  • 计费案例:https://help.aliyun.com/document_detail/64032.html?spm=a2c4g.11186623.4.3.363db1bcfdvxB5


三、整体流程


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KngkoHs5-1614694435650)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302162750808.png)]

四、视频点播服务的基本使用


完整的参考文档:

https://help.aliyun.com/product/29932.html?spm=a2c4g.11186623.6.540.3c356a58OEmVZJ

1 、设置转码格式

选择全局设置 > 转码设置,单击添加转码模板组。

在视频转码模板组页面,根据业务需求选择封装格式和清晰度。

或直接将已有的模板设置为默认即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cS07t37u-1614694435651)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302162846420.png)]

2 、分类管理

选择全局设置 > 分类管理

3 、上传视频文件

选择媒资库 > 音视频,单击上传音视频

4 、配置域名

音视频上传完成后,必须配一个已备案的域名,并完成 CNAME 绑定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eguH7wV2-1614694435653)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302162908488.png)]

得到 CNAME

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M9VKmtWZ-1614694435654)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302162916995.png)]

在购买域名的服务商处的管理控制台配置域名解析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zoMvgZ3N-1614694435655)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302162925490.png)]

5 、在控制台查看视频

此时视频可以在阿里云控制台播放

6 、获取 web 播放器代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UjauKSF3-1614694435656)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302162952462.png)]


使用服务端SDK

==================================================================

一、服务端SDK


1、简介

sdk的方式将api进行了进一步的封装,不用自己创建工具类。

我们可以基于服务端SDK编写代码来调用点播API,实现对点播产品和服务的快速操作

2、功能介绍

  • SDK封装了对API的调用请求和响应,避免自行计算较为繁琐的 API签名。

  • 支持所有点播服务的API,并提供了相应的示例代码。

  • 支持7种开发语言,包括:Java、Python、PHP、.NET、Node.js、Go、C/C++。

  • 通常在发布新的API后,我们会及时同步更新SDK,所以即便您没有找到对应API的示例代码,也可以参考旧的示例自行实现调用。


二、使用SDK


0、创建环境

  • 在service下创建子模块service_vod引入下面相关依赖,因为在父工程guli_parent已经规定了版本号

com.aliyun

aliyun-java-sdk-core

com.aliyun

aliyun-java-sdk-vod

com.alibaba

fastjson

1、安装

参考文档:https://help.aliyun.com/document_detail/57756.html

添加maven仓库的配置和依赖到pom

sonatype-nexus-staging

Sonatype Nexus Staging

https://oss.sonatype.org/service/local/staging/deploy/maven2/

true

true

添加Jar包依赖

com.aliyun

aliyun-java-sdk-core

4.5.1

com.aliyun

aliyun-java-sdk-vod

2.15.11

com.alibaba

fastjson

1.2.62

  • aliyun-java-sdk-core的版本4.4.5及以上。

2、初始化

参考文档:https://help.aliyun.com/document_detail/61062.html

根据文档示例创建 com.achang.vodtest.InitObject

//初始化类

public class InitObject {

public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {

String regionId = “cn-shanghai”; // 点播服务接入区域

DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);

DefaultAcsClient client = new DefaultAcsClient(profile);

return client;

}

}

3、测试功能

获取视频播放地址:

public static void main(String[] args) throws ClientException {

//1、根据视频id获取视频播放地址

//创建初始化对象

DefaultAcsClient cl = InitObject.initVodClient(“LTAI4GBABS7Sq8MLf2RNwLuu”, “ynfsD31FLdcRoQVFSIdHP7AeoKaf4o”);

//创建获取视频地址request对象和response对象

GetPlayInfoResponse response = new GetPlayInfoResponse();

GetPlayInfoRequest request = new GetPlayInfoRequest();

//向request对象设置视频id值

request.setVideoId(“e9102d65ba3649f0b9fc8679cc5bda42”);

//调用初始化对象里面的方法传递request,获取数据

response = cl.getAcsResponse(request);

List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList();

//播放地址

for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) {

System.out.print("PlayInfo.PlayURL = " + playInfo.getPlayURL() + “\n”);

//PlayInfo.PlayURL = https://outin-5e688ec47b2c11ebb00500163e06123c.oss-cn-shanghai.aliyuncs.com/sv/52a57879-177f1fd5033/52a57879-177f1fd5033.mp4?Expires=1614680252&OSSAccessKeyId=LTAIrkwb21KyGjJl&Signature=FPlVfGbIDVGuvR3W8f2K4QcpATw%3D

}

//Base信息

System.out.print("VideoBase.Title = " + response.getVideoBase().getTitle() + “\n”);//VideoBase.Title = 6 - What If I Want to Move Faster.mp4

}

获取视频播放凭证:

@Test

public void test1() throws ClientException {

//创建初始化对象

DefaultAcsClient cl = InitObject.initVodClient(“LTAI4GBABS7Sq8MLf2RNwLuu”, “ynfsD31FLdcRoQVFSIdHP7AeoKaf4o”);

//创建获取视频地址request对象和response对象

GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();

//向request对象设置视频id值

request.setVideoId(“e9102d65ba3649f0b9fc8679cc5bda42”);

GetVideoPlayAuthResponse response = cl.getAcsResponse(request);

//播放凭证

System.out.print("PlayAuth = " + response.getPlayAuth() + “\n”);

//VideoMeta信息

System.out.print("VideoMeta.Title = " + response.getVideoMeta().getTitle() + “\n”);

}


使用服务端SDK

==================================================================

参考文档:https://help.aliyun.com/document_detail/53406.html

一、安装SDK


1、配置pom

com.aliyun

aliyun-java-sdk-core

4.5.1

com.aliyun.oss

aliyun-sdk-oss

3.10.2

com.aliyun

aliyun-java-sdk-vod

2.15.11

com.alibaba

fastjson

1.2.28

org.json

json

20170516

com.google.code.gson

gson

2.8.2

2、安装非开源jar包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xtdfE1Zo-1614694435658)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302175354235.png)]

在本地Maven仓库中安装jar包:

下载视频上传SDK,解压,命令行进入lib目录,执行以下代码

mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.11 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.11.jar

然后在pom中引入jar包

com.aliyun

aliyun-sdk-vod-upload

1.4.11


二、测试


@Test

public void testFileUpload(){

String accessKeyId = “LTAI4GBABS7Sq8MLf2RNwLuu”;

String accessKeySecret = “ynfsD31FLdcRoQVFSIdHP7AeoKaf4o”;

String title = “6 - What If I Want to Move Faster”; //上传之后文件的名称

String fileName = “C:\Users\PePe\Desktop\学习\博客\学习资料\21、谷粒学院 -尚硅谷\在线教育–谷粒学院\1-阿里云上传测试视频\6 - What If I Want to Move Faster.mp4”; //本地文件的路径和名称

UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);

/* 可指定分片上传时每个分片的大小,默认为2M字节 */

request.setPartSize(2 * 1024 * 1024L);

/* 可指定分片上传时的并发线程数,默认为1,(注:该配置会占用服务器CPU资源,需根据服务器情况指定)*/

request.setTaskNum(1);

UploadVideoImpl uploader = new UploadVideoImpl();

UploadVideoResponse response = uploader.uploadVideo(request);

if (response.isSuccess()) {

System.out.print(“VideoId=” + response.getVideoId() + “\n”); //获取到上传视频的id

} else {

/* 如果设置回调URL无效,不影响视频上传,可以返回VideoId同时会返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因 */

System.out.print(“VideoId=” + response.getVideoId() + “\n”);

System.out.print(“ErrorCode=” + response.getCode() + “\n”);

System.out.print(“ErrorMessage=” + response.getMessage() + “\n”);

}

}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-42RTgg0B-1614694435659)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302182820821.png)]


视频点播微服务功能

===================================================================

一、后端部分–【创建视频点播微服务】


1、创建微服务模块

service_vod

2、pom

com.aliyun

aliyun-java-sdk-core

com.aliyun.oss

aliyun-sdk-oss

com.aliyun

aliyun-java-sdk-vod

com.alibaba

fastjson

org.json

json

com.aliyun

aliyun-sdk-vod-upload

joda-time

joda-time

3、主启动类

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

@ComponentScan(basePackages = {“com.achang”}) //用于扫描swagger

public class Service_vod_Main8003 {

public static void main(String[] args) {

SpringApplication.run(Service_vod_Main8003.class,args);

}

}

4、VodController

@RestController

@CrossOrigin

@RequestMapping(“/eduvod/video”)

public class VodController {

@Autowired

private VodService vodService;

//上传视频到阿里云

@PostMapping(“/uploadAliyunVideo”)

public R uploadAliyunVideo(MultipartFile file){

//返回上传视频的id

String videoId = vodService.uploadVideoAliyun(file);

return R.ok().data(“videoId”,videoId);

}

}

5、service

  • service接口

public interface VodService {

String uploadVideoAliyun(MultipartFile file);

}

  • serviceImpl

@Service

public class VodServiceImpl implements VodService {

@Override

public String uploadVideoAliyun(MultipartFile file) {

try {

//accessKeyId,accessKeySecret

//fileName:上传文件原始名称

String fileName = file.getOriginalFilename();

//title:上传之后显示名称

String title = fileName.substring(0,fileName.lastIndexOf(“.”));

//inputStream:上传文件的输入流

InputStream inputStream = file.getInputStream();

UploadStreamRequest request = new UploadStreamRequest(ConstantVodUtils.ACCESSKEY_ID

, ConstantVodUtils.ACCESSKEY_SECRET

, title, fileName

, inputStream);

UploadVideoImpl uploader = new UploadVideoImpl();

UploadStreamResponse response = uploader.uploadStream(request);

System.out.print(“RequestId=” + response.getRequestId() + “\n”); //请求视频点播服务的请求ID

String videoId = null;

if (response.isSuccess()) {

videoId = response.getVideoId();

} else { //如果设置回调URL无效,不影响视频上传,可以返回VideoId同时会返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因

videoId = response.getVideoId();

}

return videoId;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

}

6、ConstantVodUtils

用来读取application.properties里面的值,并封装

@Component

public class ConstantVodUtils implements InitializingBean {

@Value(“${aliyun.vod.file.keyid}”)

private String accessKeyId;

@Value(“${aliyun.vod.file.keysecret}”)

private String accessKeySecret;

public static String ACCESSKEY_ID;

public static String ACCESSKEY_SECRET;

@Override

public void afterPropertiesSet() throws Exception {

ACCESSKEY_ID = this.accessKeyId;

ACCESSKEY_SECRET = this.accessKeySecret;

}

}

7、application.properites

服务端口号

server.port=8003

服务名

spring.application.name=service_vod

环境设置 dev test prod

spring.profiles.active=dev

最大上传单个文件大小:默认1M

spring.servlet.multipart.max-file-size=1024MB

最大置总上传的数据大小 :默认10M

spring.servlet.multipart.max-request-size=1024MB

阿里云 vod

aliyun.vod.file.keyid=LTAI4GBABS7Sq8MLf2RNwLuu

aliyun.vod.file.keysecret=ynfsD31FLdcRoQVFSIdHP7AeoKaf4o

8、测试

通过swagger测试

访问:http://localhost:8003/swagger-ui.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5WWaxYH-1614694435660)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302202114370.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i2vay5lx-1614694435662)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302202138117.png)]


二、前端部分


  • 数据定义

fileList: [], //上传文件列表

BASE_API: process.env.BASE_API, // 接口API地址

  • 整合上传组件

<el-upload

:on-success=“handleVodUploadSuccess”

:on-remove=“handleVodRemove”

:before-remove=“beforeVodRemove”

:on-exceed=“handleUploadExceed”

:file-list=“fileList”

:action=“BASE_API + ‘/admin/vod/video/upload’”

:limit=“1”

class=“upload-demo”

上传视频

最大支持1G,

支持3GP、ASF、AVI、DAT、DV、FLV、F4V、

GIF、M2T、M4V、MJ2、MJPEG、MKV、MOV、MP4、

MPE、MPG、MPEG、MTS、OGG、QT、RM、RMVB、

SWF、TS、VOB、WMV、WEBM 等视频格式上传

  • 方法定义

//上传成功执行方法

handleVodUploadSuccess(response,file,fileList){

this.video.videoSourceId = response.data.videoId

},

beforeVodRemove(file, fileList){

return this.$confirm(确定移除 ${ file.name }?);

},


三、配置nginx


配置nginx上传文件大小,否则上传时会有 413 (Request Entity Too Large) 异常

打开nginx主配置文件nginx.conf,找到http{},添加

client_max_body_size 1024m;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vVSmfyVH-1614694435663)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302210840933.png)]

  • 添加转发链接,根据后端端口和接口地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r0OOp2s0-1614694435664)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302210954364.png)]

location ~ /eduvod/ {

proxy_pass http://localhost:8003;

}

  • 重启nginx,所在nginx目录

关闭nginx

nginx.exe -s -stop

启动nginx

nginx.exe


四、测试


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TnXv7mR-1614694435666)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302211228373.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7OBY50z-1614694435667)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302211234276.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CL7eNXkN-1614694435668)(../../../../../AppData/Roaming/Typora/typora-user-images/image-20210302211244387.png)]


删除云端视频

================================================================

文档:服务端SDK->Java SDK->媒资管理

https://help.aliyun.com/document_detail/61065.html?spm=a2c4g.11186623.6.831.654b3815cIxvma#h2–div-id-deletevideo-div-7


一、后端部分


  • 初始化对象方法

com.achang.voe.Utils.InitObject

//初始化类

public class InitObject {

public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {

String regionId = “cn-shanghai”; // 点播服务接入区域

DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);

DefaultAcsClient client = new DefaultAcsClient(profile);

return client;

}

}

  • com.achang.voe.Utils.ConstantVodUtils

@Component

public class ConstantVodUtils implements InitializingBean {

@Value(“${aliyun.vod.file.keyid}”)

private String accessKeyId;

@Value(“${aliyun.vod.file.keysecret}”)

private String accessKeySecret;

public static String ACCESSKEY_ID;

public static String ACCESSKEY_SECRET;

@Override

public void afterPropertiesSet() throws Exception {

ACCESSKEY_ID = this.accessKeyId;

ACCESSKEY_SECRET = this.accessKeySecret;

}

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

image

上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)

image

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
v-7


一、后端部分


  • 初始化对象方法

com.achang.voe.Utils.InitObject

//初始化类

public class InitObject {

public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {

String regionId = “cn-shanghai”; // 点播服务接入区域

DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);

DefaultAcsClient client = new DefaultAcsClient(profile);

return client;

}

}

  • com.achang.voe.Utils.ConstantVodUtils

@Component

public class ConstantVodUtils implements InitializingBean {

@Value(“${aliyun.vod.file.keyid}”)

private String accessKeyId;

@Value(“${aliyun.vod.file.keysecret}”)

private String accessKeySecret;

public static String ACCESSKEY_ID;

public static String ACCESSKEY_SECRET;

@Override

public void afterPropertiesSet() throws Exception {

ACCESSKEY_ID = this.accessKeyId;

ACCESSKEY_SECRET = this.accessKeySecret;

}

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

[外链图片转存中…(img-Q16cQBPn-1713470300851)]

上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)

[外链图片转存中…(img-DEmfkLjh-1713470300852)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-6RKhSNI1-1713470300852)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值