腾讯视频1面,客户端方向,希望能给二面!面经奉上
编程题
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号始终放在最末尾。例如输入“I am a student.”,则输出“student a am I.” 水题,少考虑空字符串,面试官还提醒了一下
- 给你一堆名字,名字都是由A-Z组成 怎么查最快 (字典树)
- 还问了一个链表排序问题 我说把数全部摘出来,排序组成新的链表,说不行,我就说用选择排序,复杂度n^2
基础
- 面试官以为我是c++ 我就说打acm 的时候用的c++ 后来只准备了java 的语言基础,让我说一下c/c++ 的区别,什么是面向对象,什么是面向过程,
- DNS 的解析过程
- 问了java 之间进程的通信方式,(不会 求解答) 就答的操作系统系之间的,java的多线程和多进程的区别,不会就扯java进程可以拥有多个线程,线程之间可以共享进程的资源,java的锁介绍一下,有啥区别 说了sync 和 lock 一个是jvm 一个是jdk
- 还有一个和操作系统相关的,操作系统的堆和栈有什么区别 忘记了,我没答上来直接说的不会 想起来再加上
- 计算机网络,tcp udp 区别 使用场景,tcp 可靠传输,超时重传介绍一下,介绍一下滑动窗口
- 数据库了解吗,说一下数据库语句的执行顺序,说几个操作 我答的 select * from table 添加是什么 insert into table() values () 有几种插入方式,我说单条和多条,有啥区别 我说在后面加逗号
场景题
- 给你一栋楼,楼里面有房间 电梯啥的 怎么弄(具体记不太清楚) 封装成 房间的类,电梯的类,然后每个东西都搞成类,然后又问 每个房间不太一样怎么办,里面的装修风格要也不一样,就说把相同的抽取出来,然后用装饰着模式,
- 然后又说 一栋楼里面有 各种电梯,人乘的,载货的,等等 我说用适配器模式,然后问我具体怎么实现,我说忘了,就是把对象适配成用户想要的
- 面试时间1h左右,本来面试官想让我写代码的,他发的网址加载很慢,后来就放弃了
- 后来问他说 最后场景题答得可能不好 问他应该怎么答,他就说答的还可以,就是抽取共同特点的时候还要注意一下
- 问了一下面试有几轮, 希望能给二面