--- title: "JavaScript questions" description: "......." excerpt: "......" tags: career, javascript, interview date: "2023-01-03" coverImage: 'https://japandiary.tw/wp-content/uploads/%E5%8B%95%E7%95%AB-Lycoris-Recoil-%E8%8E%89%E5%8F%AF%E9%BA%97%E7%B5%B2-2.jpg' author: name: Chen Han picture: 'https://i.pinimg.com/564x/07/a5/a9/07a5a9030b2b01e6b428226305c49548.jpg' ogImage: url: 'https://cdn.pixabay.com/photo/2016/09/01/19/53/pocket-watch-1637396__480.jpg' --- ## Interview test (面試題目) 1. 想要請您解釋下列的程式碼代表什麼意思 ````js const compare = a => b => a <= b ```` 2. 接續上題,想要請您用個簡單的陣列,搭配map來使用它 3. 想要請您利用下列資料做出一個訂單明細頁(靜態頁面) ````javascript { "id": 17383, "customer_id": 0, "date_created": "Wed, 11 Jan 2023 06:06:51 +0000", "date_modified": "Wed, 11 Jan 2023 06:06:51 +0000", "date_shipped": "", "status_id": 1, "status": "Pending", "subtotal_ex_tax": "120.0000", "subtotal_inc_tax": "120.0000", "subtotal_tax": "0.0000", "base_shipping_cost": "0.0000", "shipping_cost_ex_tax": "0.0000", "shipping_cost_inc_tax": "0.0000", "shipping_cost_tax": "0.0000", "shipping_cost_tax_class_id": 0, "base_handling_cost": "0.0000", "handling_cost_ex_tax": "0.0000", "handling_cost_inc_tax": "0.0000", "handling_cost_tax": "0.0000", "handling_cost_tax_class_id": 0, "base_wrapping_cost": "0.0000", "wrapping_cost_ex_tax": "0.0000", "wrapping_cost_inc_tax": "0.0000", "wrapping_cost_tax": "0.0000", "wrapping_cost_tax_class_id": 0, "total_ex_tax": "120.0000", "total_inc_tax": "128.4000", "total_tax": "8.4000", "items_total": 1, "items_shipped": 0, "payment_method": "PayPal", "payment_provider_id": "1UT71582DU8167934", "payment_status": "", "refunded_amount": "0.0000", "order_is_digital": false, "store_credit_amount": "0.0000", "gift_certificate_amount": "0.0000", "ip_address": "", "ip_address_v6": "", "geoip_country": "", "geoip_country_iso2": "", "currency_id": 1, "currency_code": "USD", "currency_exchange_rate": "1.0000000000", "default_currency_id": 1, "default_currency_code": "USD", "staff_notes": null, "customer_message": null, "discount_amount": "0.0000", "coupon_discount": "0.0000", "shipping_address_count": 1, "is_deleted": false, "ebay_order_id": "0", "cart_id": null, "billing_address": { "first_name": "Abdullah", "last_name": "Almaslamani", "company": "", "street_1": "4283 Express Ln", "street_2": "", "city": "Sarasota", "state": "Florida", "zip": "34238", "country": "United States", "country_iso2": "US", "phone": "", "email": "deadlyvisions@hotmail.com", "form_fields": [] }, "is_email_opt_in": false, "credit_card_type": null, "order_source": "external", "channel_id": 1, "external_source": null, "products": { "url": "https://api.bigcommerce.com/stores/k28u1tc9ki/v2/orders/17383/products", "resource": "/orders/17383/products" }, "shipping_addresses": { "url": "https://api.bigcommerce.com/stores/k28u1tc9ki/v2/orders/17383/shipping_addresses", "resource": "/orders/17383/shipping_addresses" }, "coupons": { "url": "https://api.bigcommerce.com/stores/k28u1tc9ki/v2/orders/17383/coupons", "resource": "/orders/17383/coupons" }, "external_id": null, "external_merchant_id": null, "tax_provider_id": "", "customer_locale": "", "external_order_id": "", "store_default_currency_code": "USD", "store_default_to_transactional_exchange_rate": "1.0000000000", "custom_status": "Pending" } ```` 4. 試試把原本輪播的地方改成 parallel scroll (提示:使用 gsap,可以參考[這裡](https://greensock.com/forums/topic/33311-using-gsap-scrolltrigger-for-horizontal-scroll/)) https://jioujiou9308.github.io/CSS_Project/furniture_store/index.html#slide-4 5. 想要請您使用您使用過的firebase,實作將 axios 自動利用換發 access_token 的機制。可以參考 [這裡](https://dotblogs.com.tw/wasichris/2020/10/25/223728) https://github.com/jioujiou9308/react_firebase_website 6. 使用 react.js 實作購物車 - 樣式使用 tailwind - 看能用多少 - 狀態管理工具請使用 recoil, contextProvider, redux ... - 使用 api 或者使用 setTimeout 來實作可以非同步的概念 7. 使用 react.js 實作簡單的 blog post - 新增、更新表單使用 react-hook-form + yup - 送出表單的按鈕再送出時希望可以看到 loading 字樣或轉圈 ( 可以使用useState實作, react-query 更好 )