ios开发汽车公司可能用到的知识点需要马上研究的

腾讯音乐iOS开发四次面试记录

2021-12-03  本文已影响0人  iOS丶lant

一面(技术面,腾讯会议没开视频,50min)

1.项目介绍

2.C++

(1)继承的内部是怎么实现的?(不会)

(2)vector的实现原理?

(3)数组和链表的区别?

3.网络

(1)TCP和UDP的应用场景?

(2)TCP握手为什么是三次?(解释了2次为啥不行,4次又没有必要)

(3)TCP挥手为啥是四次呢?(TCP是全双工连接)

(4)TCP的拥塞控制?(慢启动、拥塞避免、快重传、快恢复)

(5)DNS系统的工作过程?(浏览器缓存->OS缓存->hosts文件->本地DNS服务器->根域名服务器->顶级域名服务器->权威域名服务器)

(6)DNS劫持如何解决?(HTTPDNS,由于 HTTPDNS 是通过 IP 直接请求 HTTP 获取服务器 A 记录地址,不存在向本地运营商询问 domain 解析过程,所以从根本避免了劫持问题)

(7)哈希表的应用场景?

(8)HTTP和HTTPS的区别?(加密传输、端口号、握手过程、开销、证书)

(9)TLS的加密过程?

(10)浏览器是如何对证书进行认证的?(浏览器安装了根证书,验证服务器证书的上一级签发机构是否是可信的,具体说来就是看证书的签名是由上一级签发机构的私钥加密的,一直向上回溯直到根证书)

(11)App也需要安装根证书吗?这个证书是从哪里来的?(要,CA机构)

4.OS

(1)如何保证线程安全?(1.互斥锁 2.原子操作 3.Volatile字段)

(2)死锁是如何产生的?(四个必要条件)

(3)线程之间是如何共享资源的?(全局变量)

(4)进程之间如何共享资源(共享内存、管道、消息队列、Socket)

5.手撕代码(共享屏幕)

(Leetcode 142)判断链表是否有环,如果有找出环的入口节点

6.开放性问题

(1)为什么投递iOS岗位?

(2)如何看待广告?

二面(技术面,腾讯会议视频,45min)

1.项目介绍

2.C++

(1)STL中vector、list、map的底层实现,以及特点

(2)指针和引用的区别?

(3)智能指针介绍下?

3.网络

(1)TCP包头有哪些字段?

(2)TCP三次握手和四次握手的过程?

(3)为什么是三次握手?

(4)socket编程里面,select、poll、epoll的区别和特点?

(5)client和server之间TCP通信,双方使用到的socket函数以及过程?

(6)排序算法简单介绍下(快速排序、插入排序、冒泡排序)

4.OS

(1)如何查看端口的使用情况?(netstat -atnp)

(2)netstat里面能看到什么内容(四元组、TCP状态)

(3)网络拥塞能够通过netstat查看吗?

5.DB

(1)索引了解吗?(答了个聚集索引)

6.开放性问题

(1)后端和客户端,你是怎么选择的?

如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群1012951431来获取一份详细的大厂面试资料为你的跳槽多添一份保障。

三面(技术面,电话,33min)

1.网络

(1)TCP三次握手的过程?

(2)第一次握手的SYN报文中有哪些信息?(seq、ack)

(3)这个序列号seq是如何生成的?(随机生成、向后移动)

(4)每一次往后移动seq,会有什么问题?(会被猜出来seq,伪造连接)

(5)TCP半连接队列里面会记录什么信息?(TCP控制块,里面存储了连接状态等信息)

(6)TCP和UDP的区别?

(7)TCP的拥塞控制?(慢启动、拥塞避免、快重传、快恢复)

(8)HTTPS有没什么了解?(回答了HTTPS和HTTP的区别)

(9)TLS握手的过程?

(10)TLS握手时的随机数有什么作用?(随机数用于生成会话密钥,同时能防止重放攻击)

(11)客户端验证证书的过程?

(12)ARP报文里面都有哪些字段?(OP字段、发送方IP地址、发送方MAC地址、目标IP地址、目标MAC地址、硬件类型、协议类型、硬件地址长度、协议长度..)

2.OS

(1)top命令能看到哪些内容?(CPU占用率比较高的进程pid、CPU平均负载load averge,内存使用情况、进程运行、睡眠的个数等等)

(2)IPC机制有哪些?(管道、消息队列、共享内存、信号量、信号、socket)

(3)socket编程有哪些函数?(socket、bind、listen、accept、connect)

(4)listen()的参数有哪些?(sockfd、backlog)

3.开放性问题

(1)投递移动端开发的考虑?

(2)iOS和安卓的岗位,对开发语言、基础知识的了解?

四面(技术,电话,25min)

1.项目深挖

(1)DDoS攻击的原理?

(2)能够检测哪些DDoS攻击?怎么检测的?

(3)DNS放大攻击原理有了解过吗?如何解决?

(4)除了MFC,Windows上还有哪些界面框架?

(5)Qt的事件机制有了解过吗?

(6)Windows消息队列原理?

(7)怎么从消息队列里面取数据呢?(PeekMessage、GetMessage)

(8)窗口点击按钮之后,消息的流转过程?

2.iOS

(1)iOS了解哪些?

(2)为什么OC是动态语言?

(3)OC中的分类?

3.算法

说思路,如何用栈实现队列?

4.反问

(1)工作内容,工作时间?

公共线部门(非一线业务),做一些公共组件给其他音乐产品使用

10 8 5,不打卡

(2)腾讯音乐和腾讯的关系?

腾讯音乐独立出来的,腾讯控股,福利待遇无区别(存疑)

工卡和腾讯一样,可以进出腾讯大厦

办公地点在腾讯大厦旁边

(3)后续流程?
HR面

上一篇下一篇

猜你喜欢

热点阅读