Java程序员拼多多3轮面试,这些面试题你能掌握多少?
Java后端进阶
面试一直是大家关注的问题,包括最近有很多人跟我讲投了很多简历出去,就像泥牛入海一样了无音讯了,确实出于程序员的直觉,今年是要比往年要更冷一些。
但是对于面试来说,一直都有一个说法就是「金三银四」现在三月份都快过完了,不知道有多少人已经拿到了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、分布式缓存的一致性,服务器如何扩容(哈希环)。