电话面试
略,一些的项目经验方面的问题,没什么分享价值。
笔试(共三道题目) - 两个有序整数数组求交集,语言不限。
这个题目很简单,网上全是各自答案。设置两个数组的下标i =0,j = 0,从头到尾扫描两个数组中数是否相同,如果不同,较小的数靠后移位,如果相同,则两个下标同时后移,直到其中一个下标到了末尾,则结束。
如果是求无序整数数组的交集方法则有很多,可以先用堆排序、快速排序、插入排序、归并排序等方法排好顺序,然后问题转为两个有序数组求交集,时间复杂度为O(nlgn),空间复杂度为O(1)。另一种方法,可以对其中较短的数组建hash表,然后对较长的数组查找在hash表中是否存在,时间复杂度为O(1),空间复杂度为O(min(N,M)) - 简化以下Swift代码
let animals &#61; ["fish", "cat", "chicken", "dog"] let sortedAnimals &#61; animals.sort { (one: String, two: String) -> Bool in return one 答案为&#xff1a;let sortedAnimals &#61; animals.sort(<)&#xff08;具体推导过程网上可以查到&#xff0c;Swift我也不熟&#xff0c;所以笔试时该题目没有做出来&#xff0c;汗颜&#xff09; - 谈谈个人对Flutter和RN的理解&#xff08;有相关项目经验的也可以写一下&#xff09;
本人没有做过混合开发&#xff0c;所以没有写&#xff0c;空着。
第一题算法题在考察一些最简单的算法基础&#xff0c;只要刷过一些算法题就能做出来&#xff1b;第二题代码简化题考察语言的掌握程度&#xff0c;如果没做过Swift的人是完全不会&#xff0c;也就是说他们项目组招聘人才要求掌握Swift&#xff1b;第三题表示他们需要做过混合开发的人才&#xff0c;很抱歉我并不是。
一轮面试
这个题目很简单&#xff0c;网上全是各自答案。设置两个数组的下标i &#61;0&#xff0c;j &#61; 0&#xff0c;从头到尾扫描两个数组中数是否相同&#xff0c;如果不同&#xff0c;较小的数靠后移位&#xff0c;如果相同&#xff0c;则两个下标同时后移&#xff0c;直到其中一个下标到了末尾&#xff0c;则结束。
如果是求无序整数数组的交集方法则有很多&#xff0c;可以先用堆排序、快速排序、插入排序、归并排序等方法排好顺序&#xff0c;然后问题转为两个有序数组求交集&#xff0c;时间复杂度为O(nlgn)&#xff0c;空间复杂度为O(1)。另一种方法&#xff0c;可以对其中较短的数组建hash表&#xff0c;然后对较长的数组查找在hash表中是否存在&#xff0c;时间复杂度为O(1)&#xff0c;空间复杂度为O(min(N,M))
let animals &#61; ["fish", "cat", "chicken", "dog"] let sortedAnimals &#61; animals.sort { (one: String, two: String) -> Bool in return one
本人没有做过混合开发&#xff0c;所以没有写&#xff0c;空着。
第一题算法题在考察一些最简单的算法基础&#xff0c;只要刷过一些算法题就能做出来&#xff1b;第二题代码简化题考察语言的掌握程度&#xff0c;如果没做过Swift的人是完全不会&#xff0c;也就是说他们项目组招聘人才要求掌握Swift&#xff1b;第三题表示他们需要做过混合开发的人才&#xff0c;很抱歉我并不是。
全程没有问与知识点有关的问题&#xff0c;问的都是简历上写的项目点&#xff0c;就是在了解你做过的项目。没有分享价值&#xff0c;故不做记录。
二轮面试
二轮面试见到了他们的客户端leader&#xff0c;主要就问了一个问题&#xff08;该问题也是他们项目组当前困扰一段时间的问题&#xff0c;感觉他们的面试有套经验的嫌疑&#xff0c;哈哈&#xff09;:
一个独立的H5页面&#xff08;该H5界面有支付功能&#xff0c;之前是展示在浏览器上&#xff09;&#xff0c;要展示在iOS移动端app上&#xff0c;如何在H5不做任何移动端适配的情况下&#xff0c;让该H5界面集成app的账号体系&#xff0c;也就是H5使用APP的token等参数发起网络请求。
这个问题是想原生客户端拦截内嵌H5页面的网络请求&#xff0c;并对相应数据进行修改。UIWebView确实可以做到修改url&#xff0c;但是WKWebView拦截url貌似是有缺陷的。
这个问题我暂时没有相到好的解决方法。
不过这个问题感觉比较奇怪&#xff0c;APP内嵌H5感觉通过与原生交互获取原生的账号体系数据&#xff0c;然后H5将这些数据作为参数发起请求会比较合理。
H5发起了请求&#xff0c;然后原生还去修改请求&#xff0c;感觉这个问题存在的场景比较诡异&#xff0c;只适用于项目快速迭代过程中使用&#xff0c;并不是长久之计。
总结
二面草草结束了&#xff0c;感觉他们需要掌握Swift、做过混合开发等的人才&#xff0c;很抱歉我不是&#xff0c;并没有满足他们的要求。
最后说说通过总共一个半小时的笔试和面试&#xff0c;我对苏州乐贝上海分公司客户端开发的看法吧。首先感觉该部门客户端才刚刚起步&#xff0c;完整的客户端与H5的交互流程都没有建立。其次该部门客户端和前端的开发工作完全分开&#xff0c;其实我个人认为客户端和前端开发同属于大前端这一范畴&#xff0c;客户端开发人员应该熟练掌握前端的开发技术&#xff0c;毕竟原生客户端开发成本太高&#xff0c;APP内嵌H5可能是未来的趋势。
明天会去当面面试同花顺公司&#xff0c;后天会电话面试高德地图&#xff0c;到时候再分享这两家公司的面试经历。