校招 未知部门 / 客户端开发 / 一面

[面试日期] 2023-08-09 [面试时长] 60min
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>快手24秋招 客户端一面面经</h2> <p> 8月7号下午面试,面试时间在1个小时左右。一面问的会比较基础,都是八股内容,考察个人机组,操作系统,计网,语言和开发的学习是否牢固。</p><p> 没有自我介绍,面试官比较随和。</p><ol><li> 线程和进程的区别,为什么有线程:</li><li><span>进程是操作系统分配资源的基本单位,可以拥有多个线程,</span>线程是进程内的一个相对独立的执行单元,是程序的最小执行单位;</li><li>二者资源分配上的区别,包括在JVM中的空间分类;</li><li>多并发的执行</li><li>二者的通信,进程通信(管道,共享内存),线程通信(消息队列等);</li><li>互斥锁的理解:</li><li><span>当多个线程需要同时访问共享资源时,如果没有适当的同步机制,可能会导致数据不一致性和竞态条件等问题。互斥锁提供了一种互斥访问的方式,即在任意时刻只有一个线程可以获得锁,获得锁的线程可以进入临界区执行操作,其他线程则需要等待。</span></li><li><span>线程没拿到互斥锁的时候,会被阻塞,直到获取到锁为止。</span></li><li><span>信号量理解:</span></li><li><span>信号量的定义:信号量允许多个线程同时访问共享资源,但可以通过计数器的值来限制同时访问资源的线程数量。</span></li><li><span>信号量的类型:</span></li><li><span>二进制信号量</span></li><li><span>计数信号量</span></li><li><span>虚拟内存的理解:</span></li><li><span>内存分段</span></li><li><span>内存分页</span></li><li><span>共享内存原理</span></li><li><span>计网经典TCP和UDP的区别和特点</span></li><li><span>一个HTTP的请求内容包括:</span></li><li><span>请求行:HTTP的方法、目标URL、协议版本</span></li><li><span>请求头:Host、User-Agent等</span></li><li><span>请求体:一般写网络请求接口PUT、POST时候都会有用</span></li><li><span>Http是长连接吗?</span></li><li><span>不是长连接,1.0之后默认长连接</span></li><li><span>想要持久连接,要保持心跳</span></li><li><span>面向对象三大特点:</span></li><li><span>封装,继承,多态</span></li><li><span>多态在JAVA中的体现:</span></li><li><span>重写和重载</span></li><li><span>Java是值传递还是引用传递?</span></li><li><span>手写Java的单例模式线程安全的情况:</span></li><li><span>饿汉,懒汉,双重检验锁(各自优缺点)</span></li></ol><p></p><ul><li>算法题:</li><li>二叉树的中序遍历,递归,非递归两种写法</li><li>实现一个场景题,所有人把自己想要约会议的时间给你,你要算出最少需要多少间会议室可以容纳这些会议,输入会议开始时间和结束时间组成,输出为一个整数。</li><li>我用的贪心遍历一遍</li><li>面试官表示可以用同一个时间轴来考虑</li></ul><a>#快手#</a><a>#客户端#</a><a>#面经#</a>
AI 推荐面试题