TP-Link笔试面试

面的软件开发工程师,简历里写了主语言java,问了不少java,面试先自我介绍,问了下成绩,然后问了下项目,大概持续二十分钟

笔试

1.输出一个链表中间元素:
方法1:先计算链表长度length,然后循环遍历length/2
方法2:一个慢指针(一次一步),一个快指针(一次两步),快的到头了慢的到中间了

2.判断四边形是凸四边形
四边向量叉乘大于零

3.大数乘法
把大整数存到StringBuffer中做(用long接收也会溢出)


面试

  • 1.hashmap和hashtable

    • 区别,定义
  • 2.volatile关键字

  • 3.快速排序

    • 介绍,时间复杂度
    • 最坏情况,什么情况下最坏
  • 4.TCP三次握手

  • 5.JAVA同步关键字

  • 6.判断链表有环

    • 快慢指针(慢指针一次走一步,快指针一次走两步),当慢指针追上快指针的时候快指针还么有走到链表头,说明有环
    • 初次相遇的地方就是环的入口
  • 7.override和overload

  • override重写(覆盖)

    • 父类子类多态的表现,
    • 子类定义的方法和父类有相同的名称,参数(必须完全匹配才能覆盖上)
    • 方法被定义为final就不能再重写覆盖了
    • 方法在父类中是private,就不能在子类中对其重写覆盖,如果定义也只是定义了一个新方法。
  • overload重载

    • 参数个数,参数类型,参数顺序有不同的就是重载
    • 重载一般发生在同一个类,不同方法之间。

你可能感兴趣的:(面试,java)