今天晚上约了腾讯的面试,约的是19:30,结果电话19:22就打过来了,昨晚因为今天要预答辩,一晚上没睡着,头晕的不行
19:21腾讯的电话准时打过来
- 问实习在做的工作,然后针对工作内容问了python的装饰器(python我只会用,不知道)
- 了解线程的锁吗?怎么区分是死锁还是死循环(答反了)
- 实习对数据进行了哪些处理(这个地方面试官跟我说了一大堆)
- 编程使用过tcp协议吗(没有)
- 使用过http协议吗,介绍下post(答得不好)
- post和get的区别(答得不好)
- 编程题 y型链表的第一个公共节点(提示下做出来了)
- 一个十进制数有多少种给定二进制表示方法(给定二进制为二进制可以用0,1,2表示吗,例如2可以表示为02,4可以表示为020)
一共35分钟,一个没答上来,凉凉,面试官心里想:这么菜还来面试
在南研所的后山上接的电话,面试完衣服都湿透了,感觉自己好菜啊
反思
- 装饰器
在Python中有三个内置的装饰器,都是跟class相关的:staticmethod、classmethod 和property。(这个我在写python类的时候经常用到,我真是一个five) - 死锁
jps -l
jstack pid >pid.txt
top -p pid -H # 显示线程,并找出cpu利用率最大的线程
printf "%x" 10进制线程id # 转换成为16进制
# 可打开文件pid.txt,查看搜索16进制
死循环CPU利用率高
死锁产生的四个必要条件:
-
互斥条件
-
不可剥夺
-
请求与保持
-
循环等待
死锁是不会占用CPU的,在ReentrantLock中,如果线程没有获取到锁,会进入阻塞队列被park了等待被唤醒,因此不会占用CPU -
数据处理
-
TCP协议
-
HTTP协议:应用层协议
[外链图片转存失败(img-yXHZMp7c-1566737913978)(/1565964641102_23684.png)] -
post和get的区别
GET和POST还有一个重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包。
长的说:
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
https://www.cnblogs.com/logsharing/p/8448446.html
7. Y型链表
public class Solution {
private int getLis