但是对于面试来说,一直都有一个说法就是「金三银四」现在三月份都快过完了,不知道有多少人已经拿到了offer,今天我就来分享一个Java程序员面试拼多多后端开发岗位的几轮面试题。
很多Java程序员在面试时都有这样的苦衷:
我掌握了很多Java开发技巧,每次到笔试环节,死活就是答不上;
明明是一个职场老手,和面试官聊天,简单的技术问题都吞吞吐吐;
一、拼多多一面
1、给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。
2、10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。
3、把一个 bst 转化成一个双向链表。
4、http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的。
5、IP 地址子网划分。
6、POST 和 GET 区别。
7、硬链接和软连接区别。
8、DNS 解析过程。
9、kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号)。
10、linux 用过的命令。
11、系统管理命令(如查看内存使用、网络情况)。
12、管道的使用。
13、grep 的使用,一定要掌握,每次都会问在文件中查找。
14、shell 脚本。
15、find 命令。
16、awk 使用。
二、拼多多二面
1、Linux 下的一些指令,(进程id), (进程 id),(进程id),?(上一条命令退出时状态),怎么查看进程,按照内存大小,CPU 占用排序等等。(大写 M 和大写 P)。
2、http 的 get 和 post 方法。
3、介绍下你所了解的 epoll。
4、数据库 sql 的了解程度。
5、项目中遇到的问题,自己咋解决的等等。
6、手写一个全排列。
7、B树和B+树。
8、介绍一下 Hash,怎么解决冲突。
9、进程间的通信,共享内存方式的优缺点。
三、拼多多三面
1、说下你平时看的一些技术博客,书籍。
2、linux 下的一些指令。
3、工作中你觉得最不爽的事情是什么。
4、说下你的优缺点。
5、有没有想过去创业公司。
6、写个 strcpy 函数。
7、说说你自己的性格。
8、给你一个系统(面试官好像是无人车部门的),后台的逻辑已经实现了,但是前端加载很慢,怎么检测。
9、以后可能要学习很多新技术,你怎么看。
10、项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚)。
11、系统的量级、pv、uv 等。
12、应对高并发的解决办法(分布式)。
13、在项目中主要负责了哪些工作。
14、nginx 的负载均衡。
15、分布式缓存的一致性,服务器如何扩容(哈希环)。
给大家分享一款Java基础教程,帮助大家回顾一下上述知识点
尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.337.search-card.all.clickwww.bilibili.com/video/BV1qL411u7eE?sphttps://link.zhihu.com/?target=https%3A//www.bilibili.com/video/BV1qL411u7eE%3Fspm_id_from%3D333.337.search-card.all.click