PDD 服务端研发一面

先说下个人体验,全程无八股,只有项目拷打
算法题:寻找两个正序数组的中位数(力扣hot100 困难)

1、拿redis用来作什么,缓存主要存什么数据,详细说
2、用户登录怎么判断的?是验证码还是密码
3、密码登录这块是怎么设计的?数据库中的密码是怎么存的呢(从这里开始拷打我半个小时)
4、我说加密算法?追问什么加密算法?数据库中的密码加密后如何比对?对称加密还是非对称加密?
5、我说对称(其实应该是非对称,我联想到了https,没了解过这个东西,只会用)那这个安全么?
6、不安全,那想要解决这个安全问题如何解决呢?我说非对称,他问怎么做的呢???这块平时没有仔细研究过,不了解
7、我答公钥私钥,他说不对[哭惹R],因为我真的没有研究过。一般商业系统的密码都是反解不出来的,基于这种方式登录校验怎么做呢?
8、非对称加密算法是唯一的这句话你明白么?现在有个算法,反解不出来,但是相同字符串加密结果是唯一的,这种该怎么处理呢?
9、我说了一些,面试官打断我,让我思考一会在说,这里估计印象不好了。我相同的字符串都是A,那么我加密后的结果都是一样的,类似可以推算另外一个人信息,这种怎么解决?我说手机号+密码一起加密。。。面试官说手机号换了呢?我说身份证。他说身份证国家不允许存。。。又问我身份证怎么存怎么比较
10、最后一个问题,你能复述一下我刚刚说的问题么,可能我越说越离谱了#牛客AI配图神器#  #大厂实习#
全部评论
有点不该😩😩密码存的是哈希值,不可逆的,然后一般都是加盐哈希,即随机字符串,这个盐和哈希值是放一起的。校验密码对不对的时候是用他的盐+用户输入的密码哈希,然后比对。
点赞 回复 分享
发布于 04-19 13:44 广东
挂了
点赞 回复 分享
发布于 03-17 21:59 安徽
是不是有胡子的面试官,感觉我们题差不多
点赞 回复 分享
发布于 03-17 18:41 湖北
同学是安大硕吗
点赞 回复 分享
发布于 03-17 11:32 上海
请问收到二面了吗
点赞 回复 分享
发布于 03-16 20:55 四川
密码应该是不是加密解密,得是直接哈希
点赞 回复 分享
发布于 03-16 20:43 湖北
一共几面啊
点赞 回复 分享
发布于 03-16 19:29 四川
上来就hard?
点赞 回复 分享
发布于 03-16 14:43 北京

相关推荐

05-24 12:03
湖南大学 Java
1、项目什么时候会触发失败,人为介入;2、sql如何分页展示    在sql中,可以使用limit和offset子句或者row_number()窗口参数来实现分页展示数据; limit number_of_rows表示每页展示的行数,offset offset_value表示跳过前面的行数。例如,对于第一页,offset是0,以此类推;3、http包含了哪些内容    请求方式(get、post、delete、put)、状态码(1XX表示请求已被服务器接收,继续处理、2XX表示请求已成功被服务器接收、理解、并接受、3XX表示需要客户端采取进一步的操作才能完成请求、4XX表示客户端请求有语法错误或无法完成请求、5XX表示服务器在处理请求的过程中发生了错误)4、TCP的状态    三次握手、四次挥手5、如果在建立连接的时候,ack后,开始发送数据,但是ack数据包丢失,这个情况下服务器如何处理这个数据包    首先关于服务器状态的改变,在正常情况下,服务器收到客户端的ACK报文之后,连接就进入了ESTABLISHED(已建立)状态,但是ACK数据包丢失,服务器在发送SYN-ACK报文之后,会等待客户端ACK的确认,此时服务器的状态会一直保持在SYN-RCVD(同步已接受)状态。    服务器的重传机制,在一定时间内,没有收到客户端的ACK报文,服务器会重新发送SYN-ACK报文。    在等待ACK的过程中,服务器会为这个半连接分配一定资源。6、操作系统的进程调度方式,win使用哪些进程调度方式,linux是使用哪些进程调度方式操作系统的进程调度方式主要有以下几种:先来先服务调度算法(FCFS)原理 :按照进程进入就绪队列的先后顺序进行调度,先到达的进程先得到处理。特点 :简单易懂,但可能导致后到达的短进程等待过长。短进程优先调度算法(SJF)原理 :优先调度估计运行时间短的进程。特点 :能有效减少进程的平均等待时间,但难以准确预估进程的运行时间。时间片轮转调度算法(RR)原理 :将 CPU 时间划分为一个个时间片,按就绪队列顺序分配时间片给进程运行,若时间片用完而进程未完成,则进入队列等待下一轮调度。特点 :适合多用户分时系统,保证了每个进程都能获得一定的 CPU 时间,但时间片大小的选择较关键。优先级调度算法原理 :为每个进程设置优先级,优先级高的进程先调度,优先级相同则按先来先服务调度。特点 :灵活但易导致低优先级进程饥饿。多级反馈队列调度算法原理 :设置多个就绪队列,每个队列对应一个优先级和时间片大小,进程根据运行时间和抢占情况在不同队列间移动,优先级高的队列中的进程先调度,同一队列中的进程采用时间片轮转调度。特点 :兼顾多个方面,是较复杂的调度算法,能有效处理各种类型的进程。Windows 的进程调度方式:多优先级反馈调度算法 :Windows 将进程分为多个优先级,优先级高的进程优先调度。系统会根据进程的行为动态调整优先级,如交互式进程的优先级会提高,CPU 密集型进程的优先级会降低。实时进程调度 :对于实时进程,Windows 使用先来先服务和轮转算法,确保实时任务及时得到处理。Linux 的进程调度方式:完全公平调度器(CFS) :基于红黑树数据结构管理进程,通过计算进程的虚拟运行时间来确定调度顺序,优先调度虚拟运行时间少的进程,兼顾进程的公平性和吞吐量。实时进程调度 :包括先来先服务(SCHED_FIFO)和轮转(SCHED_RR)两种策略,确保实时进程及时得到 CPU 资源。过时的 O(1)调度算法 :早期 Linux 使用,基于就绪队列和过期队列,优先调度优先级高的进程。pv操作PV 操作是操作系统中进程同步与互斥的一种重要机制,主要用于处理进程之间的资源竞争和同步问题。PV 操作通过信号量(semaphore)来实现,它包含两种操作:P 操作和 V 操作。PV 操作的定义P 操作(wait 操作) :用于测试信号量的值。若信号量的值大于等于 1,则信号量减 1,进程继续执行;若信号量的值小于 0,则进程进入等待队列等待。P 操作的格式如下:V 操作(signal 操作) :用于将信号量的值加 1。若信号量的值大于等于 0,则直接加 1;若信号量的值小于 0,表示有进程在等待该信号量,此时唤醒一个等待的进程,并将信号量的值加 1。V 操作的格式如下:
查看7道真题和解析
点赞 评论 收藏
分享
评论
2
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务